Loops Prestashop-产品图片不显示在具有友好URL的类别循环中
打开友好URL后,我的产品图像不会显示在类别中。如果我关掉它,它们会再次出现 我试过:Loops Prestashop-产品图片不显示在具有友好URL的类别循环中,loops,prestashop,Loops,Prestashop,打开友好URL后,我的产品图像不会显示在类别中。如果我关掉它,它们会再次出现 我试过: 在后台重新生成图片 关闭缓存 当我在打开frienly URL的情况下检查代码时,图像链接以一种奇怪的格式显示: Prestashop 1.6 编辑: 问题似乎来自我在自定义类别TPL中查询产品的方式。我手动查询子类别中的产品(我不是一次显示该类别的所有产品),如下所示: {foreach from=$subcategories item=subcategory} {if $subcategory
- 在后台重新生成图片
- 关闭缓存
{foreach from=$subcategories item=subcategory}
{if $subcategory.id_category == 64659}
{assign var="subcategory_id" value=$subcategory.id_category}
{assign var="subcategory_object" value=$subcategories_objects.$subcategory_id}
{include file="./product-list.tpl" products=$subcategory_object->getProducts('1','1','100','price','asc')}
{/if}
{/foreach}
使用以下行查询产品时,图像显示正常:
{include file="./product-list.tpl" products=$products}
在product-list.tpl中,这是获取图像的行:
src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')|escape:'html':'UTF-8'}"
谢谢。默认情况下,只能在
$subcategories
变量中获得子类别数组;因此,除非您拥有子类别对象,否则获取该子类别的产品将永远无法工作
首先,您需要获取sub-category对象,为此,您需要通过对category类进行覆盖来覆盖classes/category.php
文件中的默认函数getSubCategories
按照下面提到的步骤(1-2)创建覆盖类并修改步骤(3)中提到的模板中的代码
1) 在路径override\classes
上创建文件Category.php
,并在其中添加以下代码。
这将覆盖默认函数以获取类别
<?php
/**
* @override classes/Category.php
*
*/
class Category extends CategoryCore
{
/**
* @override
* Return current category childs
*
* @param int $id_lang Language ID
* @param bool $active return only active categories
* @return array Categories
*/
public function getSubCategories($id_lang, $active = true)
{
$result = parent::getSubCategories($id_lang, $active);
foreach ($result as &$row) {
// Preapre object of sub category here
$row['object'] = new Category($row['id_category'], $id_lang);
}
return $result;
}
}
希望这对您有用。在“首选项”->“管理面板中的图像”中是否有类似“移动图像”的选项?我看不到任何类似的选项,没有。当我重新生成缩略图时,有一个选项“保留以前的图像”,但我尝试了使用和不使用,它都无法修复。您能够在产品列表中的“管理面板”中看到图像吗?是的,它们显示得非常完美。这些图片的url是什么?
{foreach from=$subcategories item=subcategory}
{if $subcategory.id_category == 64659}
{include file="./product-list.tpl" products=$subcategory.object->getProducts('1','1','100','price','asc')}
{/if}
{/foreach}