实现到文章列表而不是传统分页。在本文中,我试图分享我的个人经验,如果您以后遇到任何氧化剂开发,可能会帮助您加快工作过程。 这是您将要实现的。
>整个源代码将在系列结束时可用。
这些教程将涵盖以下领域:第1部分:
第2部分:
注意:我假设您有氧化eShop的一些工作经验(如果没有,请参见上面链接的Matthew的文章)。因此,对于氧化的基本概念,不会有太多解释。
>
您首先要做的最重要的任务是创建标准文件夹结构。
aho_infinitescroll/ | |--- controllers/ | |-- aho_infinite_alist.php # A new controller that extends alist.php | |--- out/ | |--admin/ | |--en/ | |-- aho_infinitescroll_lang.php # Back-end English text. | |--de/ | |-- aho_infinitescroll_lang.php # Back-end Deustch text. | | |--css/ | |--> infinitescroll.css # Style for infinite scrolling elements. | | |--img/ | |--> ajax-loader.gif # image indicates the loading status. | |--js/ | |--- translations/ | |--de/ | |--> aho_infinitescroll_lang.php # Front-end Deustch text. | |--en/ | |--> aho_infinitescroll_lang.php # Front-end English text. | |--- views/ | |-- page/ | |-- list/ | |--> aho_infinitescroll_list.tpl # new template file. | |--- metadata.php # Define extension name, classes and other infos. |--- picture.jpg # A thumbnail for the module's functionality.
>注意:命名新模块的最佳实践是将供应商/开发人员/组的名称与模块的功能结合在一起。它有助于立即揭示团队协作新模块的供应商和功能。
因此,公式可以如下:
>供应商名称 underscore 功能
- 即:sitepoint_infinitesCroll
>供应商名称可以用开发人员名称或组名称代替。取决于您。
> metadata.php对于任何模块开发至关重要。该文件提供了有关模块,要扩展的类,要覆盖的块,要替换的模板的基本详细信息,前端和后端侧面的设置等等。
>请打开文件元数据。
<span><span><?php </span></span><span> </span><span><span>$sMetadataVersion = '1.0'; # Define version of this file </span></span><span> </span><span><span>// An array to store modules' details </span></span><span><span>$aModule = array </span></span><span><span>( </span></span><span> <span>'id' => 'aho_infinitescroll', </span></span><span> <span>'title' => '[AHO] Infinite Scrolling List', </span></span><span> <span>'description' => 'Infinite Scrolling for article list', </span></span><span> <span>'thumbnail' => 'picture.jpg', </span></span><span> <span>'version' => '1.0.0', </span></span><span> <span>'author' => 'Tuan Anh Ho', </span></span><span> <span>'url' => '', </span></span><span> <span>'email' => 'anhhothai@gmail.com' </span></span><span><span>);</span></span>
aho_infinitescroll/ | |--- controllers/ | |-- aho_infinite_alist.php # A new controller that extends alist.php | |--- out/ | |--admin/ | |--en/ | |-- aho_infinitescroll_lang.php # Back-end English text. | |--de/ | |-- aho_infinitescroll_lang.php # Back-end Deustch text. | | |--css/ | |--> infinitescroll.css # Style for infinite scrolling elements. | | |--img/ | |--> ajax-loader.gif # image indicates the loading status. | |--js/ | |--- translations/ | |--de/ | |--> aho_infinitescroll_lang.php # Front-end Deustch text. | |--en/ | |--> aho_infinitescroll_lang.php # Front-end English text. | |--- views/ | |-- page/ | |-- list/ | |--> aho_infinitescroll_list.tpl # new template file. | |--- metadata.php # Define extension name, classes and other infos. |--- picture.jpg # A thumbnail for the module's functionality.
该值扩展指定新模块将扩展的特定核心/控制器类。在这种情况下,它将是Alist.php,位于/氧化/application/。
>注意:
>
命名新模板的正确方法是“模块名称
- _旧模板名称” I.E:AHO_INFINITESCROLL_LIST.TPL
<span><span><?php </span></span><span> </span><span><span>$sMetadataVersion = '1.0'; # Define version of this file </span></span><span> </span><span><span>// An array to store modules' details </span></span><span><span>$aModule = array </span></span><span><span>( </span></span><span> <span>'id' => 'aho_infinitescroll', </span></span><span> <span>'title' => '[AHO] Infinite Scrolling List', </span></span><span> <span>'description' => 'Infinite Scrolling for article list', </span></span><span> <span>'thumbnail' => 'picture.jpg', </span></span><span> <span>'version' => '1.0.0', </span></span><span> <span>'author' => 'Tuan Anh Ho', </span></span><span> <span>'url' => '', </span></span><span> <span>'email' => 'anhhothai@gmail.com' </span></span><span><span>);</span></span>
>
>并继续使用直到结束。 当我们首次激活模块时,将此设置插入两个表
oxconfigOxmodule (Table Oxconfig)和
>
>语法要添加配置选项的帮助文本help_shop_module _ setting_colum_name。
<span>'extend' => array( </span> <span>'alist' => 'aho_infinitescroll/controllers/aho_infinitescroll_alist' </span> <span>), </span> <span>'templates' => array( </span> <span>'aho_infinitescroll_list.tpl' </span> <span>=> 'aho_infinitescroll/views/page/list/aho_infinitescroll_list.tpl' </span> <span>)</span>
>
aho_infinitescroll/ | |--- controllers/ | |-- aho_infinite_alist.php # A new controller that extends alist.php | |--- out/ | |--admin/ | |--en/ | |-- aho_infinitescroll_lang.php # Back-end English text. | |--de/ | |-- aho_infinitescroll_lang.php # Back-end Deustch text. | | |--css/ | |--> infinitescroll.css # Style for infinite scrolling elements. | | |--img/ | |--> ajax-loader.gif # image indicates the loading status. | |--js/ | |--- translations/ | |--de/ | |--> aho_infinitescroll_lang.php # Front-end Deustch text. | |--en/ | |--> aho_infinitescroll_lang.php # Front-end English text. | |--- views/ | |-- page/ | |-- list/ | |--> aho_infinitescroll_list.tpl # new template file. | |--- metadata.php # Define extension name, classes and other infos. |--- picture.jpg # A thumbnail for the module's functionality.
您可以注意,扩展类的名称是AHO_INFINITESCROLL_ALIST_PARENT。公式是模块控制器名称_父级。
>您通常需要知道需要扩展哪些类。有一种简单的方法可以找出当前视图中哪个类正在运行。您只需浏览file/application/views/ {theme_name }/tpl/layout/page.tpl,然后在文件顶部插入以下行:
<span><span><?php </span></span><span> </span><span><span>$sMetadataVersion = '1.0'; # Define version of this file </span></span><span> </span><span><span>// An array to store modules' details </span></span><span><span>$aModule = array </span></span><span><span>( </span></span><span> <span>'id' => 'aho_infinitescroll', </span></span><span> <span>'title' => '[AHO] Infinite Scrolling List', </span></span><span> <span>'description' => 'Infinite Scrolling for article list', </span></span><span> <span>'thumbnail' => 'picture.jpg', </span></span><span> <span>'version' => '1.0.0', </span></span><span> <span>'author' => 'Tuan Anh Ho', </span></span><span> <span>'url' => '', </span></span><span> <span>'email' => 'anhhothai@gmail.com' </span></span><span><span>);</span></span>
经常询问有关在氧化eShop中构建无限卷轴列表的问题
>在氧化eShop中使用无限滚动的目的是什么?内容。在氧化ESHOP的背景下,该技术可用于在用户向下滚动页面时连续显示产品,从而通过允许无缝导航和探索产品来改善用户体验。>我如何使用PHP?
>
>是否存在在氧化eShop中使用无限滚动的潜在缺陷?适用于所有类型的电子商务网站。例如,如果您的网站有一个具有重要链接的页脚,则无限滚动可能会使用户难以与页脚联系。另外,对于想要导航到特定产品或页面的用户,无限卷轴有时会感到困惑。我可以在其他电子商务平台中使用无限滚动,除了氧化eShop?无限滚动可以在支持自定义编码的各种电子商务平台中实现。但是,实现过程可能会因平台的体系结构和编码语言而有所不同。建议参考特定平台的文档或向专业开发人员寻求帮助。>无限滚动如何影响seo?无限滚动可能会影响SEO,因为搜索引擎可能无法造成SEO通过AJAX正确爬网和索引内容。但是,可以通过为搜索引擎实现分页版本以及用于用户的无限滚动版本来缓解这种情况。
我可以禁用氧化eShop中某些页面的无限滚动吗?可以选择在氧化ESHOP中的某些页面上禁用无限滚动。这可以通过修改列表控制器和产品列表模板中的条件来完成。
以上是为氧化ESHOP建立无限的滚动列表 - 基础知识的详细内容。更多信息请关注PHP中文网其他相关文章!