gpt4 book ai didi

prestashop - 在 Prestashop 中创建主页分页

转载 作者:行者123 更新时间:2023-12-04 18:01:02 26 4
gpt4 key购买 nike

我创建了一个名为“blockallproducts”的模块,它也在主页和分页中显示所有产品。但是如何将 paginaton 页面值的值传递给模块?或者我需要再创建一个 Controller 吗?任何人都请帮助我!这是一个 hookdisplayHome($params) 函数,用于显示 blockallproducts.php 中的所有产品。

$p = 1;
$n = 10;
$pages_nb = ceil($this->countAllProducts() / (int)$n);

$range = 2; /* how many pages around page selected */
$start = (int)($p - $range);
if ($start < 1)
$start = 1;
$stop = (int)($p + $range);
if ($stop > $pages_nb)
$stop = (int)$pages_nb;

if (!$p) $p = 1;
$category = new Category(Context::getContext()->shop->getCategory(),(int)Context::getContext()->language->id);
$products = $category->getProducts((int)Context::getContext()->language->id,((int)$p - 1) * (int)$n,(int)$n,'id_product','DESC');

$this->smarty->assign(array(
'new_products' => $products,
'homeSize' => Image::getSize(ImageType::getFormatedName('home')),
'pages_nb' => $pages_nb,
'prev_p' => $p != 1 ? $p - 1 : 1,
'next_p' => (int)$p + 1 > $pages_nb ? $pages_nb : $p + 1,
'requestPage' => $this->context->link->getPageLink('blockallproducts'),
'p' => $p,
'n' => $n,
'range' => $range,
'start' => $start,
'stop' => $stop,
/*'ajaxurl' => $this->context->link->getModuleLink('blockallproducts', 'display')*/
));
return $this->display(__FILE__, 'blocknewproducts_home.tpl');

最佳答案

Category Controller 中的分页是使用 URL 参数(例如 ?p=2 作为页码)完成的。

如果你想在主页中使用分页并保持干净的 URL,你可以添加一些 javascriptnext, previous 按钮和your-module/controllers/front/your-controller.php 处理您关于产品数据的请求。

关于prestashop - 在 Prestashop 中创建主页分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35447331/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com