2015-06-09 4 views
0

Я использую Prestashop для сайта электронной коммерции. В «product.tpl» я помещаю следующий код, который я (в конце концов) нашел на веб-сайте, и он отлично работал для моих нужд.Prestashop - Основные категории по каждому шаблону

{assign var='category' value=Product::getProductCategoriesFull($product->id, $cookie->id_lang)} 

{foreach from=$categories key='categoryId' item='category' name='category'} 
    <a href="#">{$category['name']}</a> 
{/foreach} 

Это ставит для меня одиннадцать основных категорий. Прекрасно работает. Теперь мне нужно разместить те же категории на странице, что на самом деле перечисляет категории и подкатегории, для которых я использую «category.tpl» для. Этот код не работает для этого шаблона, просто никакой контент не загружается вообще.

Основная часть категорий на самом деле должна быть видна с каждой страницы на веб-сайте, как часть заголовка. Но я считаю Prestashop проблематичным с включением, что было бы нормой с PHP.

Я стараюсь не использовать все «переопределения», которые я все время нахожу. Это слишком много кода, который я не понимаю. Может ли код, который я слегка изменил, работать в файле шаблона категории (и любом другом файле шаблона на веб-сайте)?

+0

Кстати, я знаю, что { «$ category-> имя}» отображает название текущей категории. Я использую это, но мне также нужно отображать имена других категорий, так как основная часть типа меню является частью сайта. – Ryan

ответ

0

Вы фрагмент кода либо неправильно, либо вы ввели его неправильно:

{assign var='category' 

Создает переменную $category. Тем не менее, он сразу же перезаписывается from=$categories item='category' -> выглядит создает его собственный $category.

Я думаю, вы имели в виду {assign var='categories'. Во всяком случае, код все еще может работать, поскольку переменные $categories уже доступны на странице продукта (каждый продукт имеет некоторые категории).

Кроме того, вы в первом заявлении захватываете категории для указанного продукта $product->id. Опять же, $product доступен только на странице продукта (логический).

Если вы хотите, чтобы захватить все категории независимо от страницы, попробуйте использовать:

{assign var='all_categories' value=Category::getCategories(Context::getContext()->language->id)} 
<pre>{$all_categories|@print_r}</pre> 
+0

Ваш код дает мне много технической информации, но я борюсь. Вот некоторые из них, и мне нужно сделать простой цикл для размещения категорий на странице. '[2] => Массив ( [12] => Массив ( [информация о] => Массив ( [id_category] => 12 [id_parent] => 2 [id_shop_default] => 1 [level_depth] => 2 [nleft] => 3 [nright] => 10 [active] => 1 [date_add] => 2015-03-16 22:34:15 [date_upd] => 2015 -03-16 22:34:15 [положение] => 1 [is_root_category] => 0 [id_shop] => 1 [id_lang] => 1 [имя] => Acer [де scription] => от Acer растения [link_rewrite] => Асер [meta_title] => [meta_keywords] => [meta_description] => ) ' – Ryan

+0

Я сожалею о форматировании. Я пытался сделать это как список, но так получилось.Ключ возврата, похоже, не добавляет новую строку в это текстовое поле. Я очень новичок на этом сайте. Мои извинения. – Ryan

+0

Все еще пытаюсь собрать немного кода вместе. Помогите с этим? '{foreach from = Category :: getCategories (Context :: getContext() -> language-> id) item = cat}

  • {$ cat [1] .name}
  • {/ foreach}' Где это 1, в идеале быть каким-то индексом, работать через главное меню. – Ryan