69久久夜色精品国产69乱青草_国产高清日韩_亚洲一二三四区不卡_亚洲国产成人av网

源碼網_提供網站源碼、discuz、wordpress主題與插件和站長教程等資源的下載服務

eyoucms搜索列表頁支持artpagelist瀑布流嗎

好的,這是一個非常具體的技術問題。關于 EyouCMS 的搜索列表頁是否支持 artpagelist標簽實現瀑布流,答案如下:

EyouCMS 的搜索列表頁完全支持通過 artpagelist標簽實現瀑布流效果。但這不是自動的,需要您作為開發者或模板制作者,通過修改搜索列表頁的模板,并利用 artpagelist標簽的特性來實現。

image.png

實現原理與詳細步驟

瀑布流(Masonry)是一種網頁布局技術,其核心是內容元素寬度固定、高度不一的卡片錯落有致地排列artpagelist標簽本身不直接“開啟”瀑布流,而是輸出結構化的文章數據,您需要結合 Html/CSS/Javascript 來實現前端布局。

步驟一:理解 artpagelist標簽在搜索頁的用法

在 EyouCMS 的搜索列表模板(通常是 /template/pc/search.html)中,系統會使用 artpagelist標簽來循環輸出搜索結果。

傳統的分頁列表寫法(非瀑布流):

<PRe class="ybc-pre-component ybc-pre-component_not-math"><eyou:artpagelist name="$search_list" id="field">     <div class="article-item"> <!-- 每個文章項 -->         <h3><a href="{$field.arcurl}">{$field.title}</a></h3>         <p>{$field.litpic} ...</p> <!-- 文章圖片 -->         <p>{$field.description}</p> <!-- 文章簡介 -->     </div> </eyou:artpagelist> <div class="pagination">{:page}</div> <!-- 傳統分頁 -->

步驟二:修改模板以支持瀑布流

要實現瀑布流,你需要做兩件關鍵事:

移除傳統分頁: 瀑布流是滾動加載,所以需要隱藏或移除 {:page}這個傳統分頁組件。

artpagelist標簽添加瀑布流所需的參數: 最重要的是 pagesize(每頁數量)和 page(當前頁碼),以便后續通過 AJAX 加載更多內容。

修改后的模板代碼示例:

<!-- 容器,用于包裹所有文章項,是瀑布流布局的父容器 -->
<div id="waterfall-container">
    <eyou:artpagelist name="$search_list" id="field" pagesize="12"> 
        <!-- 每個文章項,高度不固定,由內容撐開 -->
        <div class="article-item">
            <a href="{$field.arcurl}"><img src="{$field.litpic}" alt="{$field.title}"></a>
            <h3><a href="{$field.arcurl}">{$field.title}</a></h3>
            <p>{$field.description}</p>
        </div>
    </eyou:artpagelist>
</div>

<!-- 傳統分頁隱藏或移除 -->
<!-- <div class="pagination">{:page}</div> -->

<!-- “加載更多”按鈕 -->
<div id="load-more" style="text-align: center; margin: 20px 0;">
    <button id="load-more-btn">加載更多</button>
</div>

步驟三:使用 CSS 和 JavaScript 實現瀑布流布局和功能

CSS 布局(使用 CSS Grid 或 Flexbox 簡單實現):

#waterfall-container {
    dISPlay: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); /* 自適應列寬 */
    gap: 20px; /* 項目之間的間隙 */
}
.article-item {
    break-inside: avoid; /* 防止項目內部折斷 */
    background: #fff;
    padding: 15px;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

JavaScript 實現 AJAX 加載更多(核心):

這是實現無限滾動或點擊加載的關鍵。你需要通過 AJAX 請求下一頁的數據,并追加到 #waterfall-container中。

document.getElementById('load-more-btn').addEventListener('click', function() {
    var page = 2; // 從第2頁開始加載,當前第1頁已由php輸出
    var keyword = ‘{$keywords}'; // 獲取搜索關鍵詞
    var loading = false;

    function loadMore() {
        if (loading) return;
        loading = true;

        // 發起 AJAX 請求
        var xhr = new XMLhttpRequest();
        xhr.open('GET', ‘{:url(‘/API/index/search')}?keywords=' + encodeURIComponent(keyword) + '&page=' + page, true);

        xhr.onload = function() {
            if (xhr.status === 200) {
                var data = JSON.parse(xhr.responseText);
                if (data.code === 1 && data.data.length > 0) {
                    // 成功獲取數據,將新內容追加到容器中
                    var container = document.getElementById('waterfall-container');
                    data.data.forEach(function(item) {
                        var newItem = createArticleItem(item); // 創建一個函數來生成HTML結構
                        container.appendChild(newItem);
                    });
                    page++; // 頁碼加1,準備下次加載
                    loading = false;
                } else {
                    // 沒有更多數據了
                    document.getElementById('load-more-btn').disabled = true;
                    document.getElementById('load-more-btn').innerText = '已加載全部';
                }
            }
        };
        xhr.send();
    }

    // 綁定點擊事件
    document.getElementById('load-more-btn').addEventListener('click', loadMore);
});

注意:以上 AJAX 代碼為示例,EyouCMS 的 AJAX 接口返回格式需要你根據實際情況進行調整。你可能需要創建一個控制器方法來處理分頁的 AJAX 請求,并返回 JSON 格式的文章數據。

步驟四:使用成熟的 JavaScript 庫(推薦,更簡單穩定)

手動實現 AJAX 和布局可能復雜。更高效的方法是使用成熟的瀑布流庫,它們處理了圖片加載、布局重排等復雜問題。

Masonry.js + ImagesLoaded: 經典組合。

Isotope: 功能強大,支持過濾和排序。

jQuery Masonry: 如果你在用 jQuery。

以 Masonry 為例的集成代碼:

<script src="https://unpkg.com/masonry-layout@4/dist/masonry.pkgd.min.js"></script>
<script src="https://unpkg.com/imagesloaded@4/imagesloaded.pkgd.min.js"></script>

<script>
// 在 AJAX 加載新數據后,初始化或重新布局 Masonry
var grid = document.querySelector('#waterfall-container');
var msnry = new Masonry(grid, {
    itemSelector: '.article-item',
    percentPosition: true
});

// 當所有圖片加載完成后,重新布局
imagesLoaded(grid).on('progress', function() {
    msnry.layout();
});

// 在 AJAX 加載新內容的成功回調里
xhr.onload = function() {
    // ... 追加新內容 ...
    // 然后
    msnry.appended(newItems); // newItems 是新添加的元素集合
    imagesLoaded(grid).on('progress', function() {
        msnry.layout();
    });
};
</script>

總結

EyouCMS 的搜索列表頁支持瀑布流,但需要手動開發實現。 關鍵在于:

模板層面: 修改 search.html,利用 artpagelist輸出數據,并準備好用于 AJAX 分頁的結構。

前端層面: 使用 CSS(Grid/Flexbox)或 JavaScript 庫(如 Masonry)實現瀑布流布局。

交互層面: 編寫 JavaScript 代碼,通過 AJAX 請求后續頁面的內容,并動態添加到頁面中,實現“加載更多”或“無限滾動”的效果。

如果您不熟悉前端 JavaScript 和 AJAX 編程,建議尋求專業開發人員的幫助,或者使用 EyouCMS 的應用市場看看是否有現成的瀑布流插件或模板。

本文鏈接:http://m.373753.com/xinwendongtai/2104.html

版權聲明:站內所有文章皆來自網絡轉載,只供模板演示使用,并無任何其它意義!

聯系客服
網站客服 業務合作 在線客服QQ
294169012
微信號
微信號
微信號
返回頂部
69久久夜色精品国产69乱青草_国产高清日韩_亚洲一二三四区不卡_亚洲国产成人av网
国产精品不卡在线| 日韩三级免费观看| k8久久久一区二区三区| 国产一区二区三区不卡在线观看| 日本va欧美va精品| 加勒比av一区二区| 国产不卡视频一区二区三区| www.爱久久.com| 91国产视频在线观看| 欧美在线综合视频| 欧美人与禽zozo性伦| 日韩午夜在线影院| 久久久精品免费网站| 国产精品毛片a∨一区二区三区| 中文字幕av在线一区二区三区| 国产精品免费视频观看| 亚洲午夜精品网| 美女尤物国产一区| 懂色av中文一区二区三区| 一本色道久久综合亚洲aⅴ蜜桃| 欧洲精品视频在线观看| 欧美一区二区啪啪| 亚洲国产精品精华液2区45| 亚洲一区二区偷拍精品| 久久国产福利国产秒拍| 成人免费福利片| 欧美日韩激情一区二区| 精品99999| 亚洲国产一区二区视频| 国产美女视频91| 99精品视频在线免费观看| 在线不卡一区二区| 欧美高清在线精品一区| 五月天中文字幕一区二区| 国产精品影视在线观看| 欧美日韩高清影院| 国产精品三级视频| 老司机精品视频一区二区三区| 99久久精品费精品国产一区二区| 欧美精品v日韩精品v韩国精品v| 国产欧美日韩视频在线观看| 日韩国产在线观看| 日本韩国视频一区二区| 久久久精品免费免费| 人妖欧美一区二区| 欧美在线观看18| 国产精品传媒入口麻豆| 国产在线看一区| 日韩欧美一级在线播放| 一区二区三区四区中文字幕| 国产高清精品久久久久| 欧美成人一区二区三区在线观看 | 精品久久久久久久久久久院品网| 亚洲婷婷国产精品电影人久久| 久久精品国产精品亚洲红杏| 欧美情侣在线播放| 亚洲日本护士毛茸茸| 懂色av一区二区在线播放| 欧美va日韩va| 日韩电影一区二区三区四区| 欧美又粗又大又爽| 亚洲欧美经典视频| 不卡的av电影| 亚洲欧洲精品一区二区三区不卡| 国产一区二区在线影院| 精品乱人伦小说| 寂寞少妇一区二区三区| 精品国产一区二区三区不卡 | 麻豆国产精品官网| 欧美久久久久久蜜桃| 亚洲国产精品久久艾草纯爱| 一本色道综合亚洲| 亚洲一级在线观看| 欧美网站一区二区| 婷婷一区二区三区| 51精品国自产在线| 久久精品99国产精品日本| 日韩欧美www| 国产一区二区在线视频| 亚洲国产精品传媒在线观看| 成人av在线一区二区三区| 亚洲欧美在线视频| 日本乱人伦一区| 日韩精品免费视频人成| 欧美大片免费久久精品三p| 国产一区久久久| 国产精品不卡在线| 欧美色视频在线观看| 免费精品视频最新在线| 久久综合视频网| av高清不卡在线| 亚洲尤物在线视频观看| 欧美精品乱码久久久久久| 久久97超碰色| 综合网在线视频| 91精品午夜视频| 国产a久久麻豆| 亚洲国产成人av| 欧美精品一区二区三区四区| 国产精品18久久久| 亚洲一区二区三区免费视频| 这里只有精品99re| www.久久精品| 青娱乐精品视频| 1区2区3区精品视频| 欧美日韩高清一区二区不卡| 国产精品一区二区x88av| 亚洲综合网站在线观看| 精品国产伦一区二区三区观看方式 | 亚洲精品一二三| 日韩欧美国产麻豆| 色婷婷亚洲综合| 国产资源精品在线观看| 有码一区二区三区| 久久精品在这里| 欧美一区二区三区四区五区| 91无套直看片红桃| 国产精品中文字幕日韩精品| 香蕉乱码成人久久天堂爱免费| 久久婷婷色综合| 欧美日韩色综合| 99免费精品在线| 国产高清久久久久| 久久精品国产免费看久久精品| 亚洲另类春色校园小说| 久久新电视剧免费观看| 欧美日韩国产成人在线免费| 不卡一区二区三区四区| 国产中文一区二区三区| 麻豆国产欧美一区二区三区| 一区二区三区四区精品在线视频| 欧美国产激情一区二区三区蜜月| 欧美成人aa大片| 欧美高清视频一二三区| 色偷偷久久人人79超碰人人澡| 国产成人免费视频一区| 久久精品国产亚洲5555| 蜜芽一区二区三区| 五月综合激情网| 日本sm残虐另类| 麻豆国产欧美日韩综合精品二区| 午夜在线电影亚洲一区| 一个色妞综合视频在线观看| 亚洲精品一卡二卡| 亚洲精品视频一区| 亚洲激情校园春色| 亚洲免费av在线| 亚洲在线一区二区三区| 亚洲一卡二卡三卡四卡| 午夜激情综合网| 日本美女视频一区二区| 久久精品国产亚洲一区二区三区| 人人超碰91尤物精品国产| 久久福利资源站| 国产成人精品www牛牛影视| 国产精品一区免费在线观看| 国产不卡视频在线播放| 99久精品国产| 欧美日本国产视频| 日韩视频一区在线观看| 久久亚洲二区三区| 国产精品网站导航| 亚洲激情在线播放| 午夜精品一区二区三区免费视频| 五月天中文字幕一区二区| 蓝色福利精品导航| 国产99久久精品| 91黄色免费看| 69久久99精品久久久久婷婷| 精品黑人一区二区三区久久| 2021久久国产精品不只是精品| 国产日产欧美一区| 亚洲日本在线a| 蜜臀a∨国产成人精品| 国产91清纯白嫩初高中在线观看| 91在线精品一区二区| 欧美嫩在线观看| 国产午夜精品久久久久久久| 夜夜夜精品看看| 狠狠色狠狠色综合| 色婷婷国产精品| 欧美mv日韩mv亚洲| 亚洲少妇30p| 久久激五月天综合精品| 91麻豆成人久久精品二区三区| 日韩欧美在线123| 国产精品久久久久天堂| 日本欧美一区二区| 一本一本大道香蕉久在线精品| 日韩一级黄色大片| 亚洲免费观看高清完整| 国产一区在线视频| 欧美三级电影精品| 欧美激情一区二区三区不卡 | 欧美v日韩v国产v| **欧美大码日韩| 国内精品久久久久影院一蜜桃| 一本大道久久精品懂色aⅴ| 日韩欧美一区电影| 亚洲成av人片|