dazfx Posted April 29, 2011 Share Posted April 29, 2011 Добрый день!Подскажите пожалуйста, как вывести в произвольном месте сайта продукты заданой категории? К примеру, есть категория Тапочки с id=1. Как вывести товары этой категории?В догонку... Как можно изменить {$category->id} ? Не могу понять как менять значения параметров объектов...Спасибо! Link to comment Share on other sites More sharing options...
Dimitri Yelquin Posted April 29, 2011 Share Posted April 29, 2011 ID не поменяете. И пробелы в порядковых номерах, которые возникают при удалении товаров и категорий, так и остануться.. А под выводом вы имели в виду порядок следования товаров в списке? Для их перемещения по списку в таблице есть стрелки. Link to comment Share on other sites More sharing options...
dazfx Posted April 29, 2011 Author Share Posted April 29, 2011 Нет. Каким образом можно вывести все товары определенной категории? В product-list выводятся продукты относящиеся к категории выбраной пользователем после перехода по соотвествующей ссылке.Как можно указать категорию, товары которой я хочу вывести в цикле?{foreach from=$products item=product name=type}....{/foreach} Link to comment Share on other sites More sharing options...
Dimitri Yelquin Posted April 29, 2011 Share Posted April 29, 2011 Раньше у меня было сомнение, правильно ли я понимаю, что Вы имели в виду под словом вывести, теперь я вовсе не понимаю, что у Вас значит указать. Нельзя ли подробнее? Просто, расскажите, какую бы возможность хотели добавить в магазин. Link to comment Share on other sites More sharing options...
artyr_n Posted April 29, 2011 Share Posted April 29, 2011 посмотрите category.php там есть как заполняется массив products для категории Link to comment Share on other sites More sharing options...
dazfx Posted April 29, 2011 Author Share Posted April 29, 2011 Содержимое моего category.tpl{include file="$tpl_dir./errors.tpl"}{debug}{if isset($category)} {if $category->id AND $category->active} {if $products} {include file="$tpl_dir./product-list.tpl" products=$products} {elseif !isset($subcategories)} {l s='There are no products in this category.'} {/if} {elseif $category->id}{l s='This category is currently unavailable.'} {/if}{/if}Содержимое product-list.tpl{if isset($products)} {foreach from=$products item=product name=type} {$product.name} {/foreach} Как можно, указав зная имя категории или ее id, вывести\отобразить\показать в цикле {foreach from=$products item=product name=type}...{$product.name}...{/foreach} имена продуктов относящихся к указаной по id\имени категории.Основная цель, вывод содержимого определенной категории в любом месте любого темплейта по ее имени\id. Link to comment Share on other sites More sharing options...
artyr_n Posted April 29, 2011 Share Posted April 29, 2011 Вы уверены что хотите при открытии любой страницы считывать из базы все товары? Link to comment Share on other sites More sharing options...
dazfx Posted April 29, 2011 Author Share Posted April 29, 2011 Почему все? Товары из одной конкретно указаной категории.С смарти столкнулся впервые. В данной ситуации помогло бы что-то вроде этого {category->name = "tapki"} перед циклом {foreach from=$products item=product name=type}…{$product.name}…{/foreach}, но такой вариант не прокатываетВот и пытаюсь понять, каким образом можно указать перед циколом из какой категории выводить товары. Link to comment Share on other sites More sharing options...
Dimitri Yelquin Posted April 29, 2011 Share Posted April 29, 2011 Ну, не знаю... Артур ещё что-то понимает, хотя скорее, пытается понять, чего Вы хотите, а я не понимаю совершенно! Link to comment Share on other sites More sharing options...
dazfx Posted April 29, 2011 Author Share Posted April 29, 2011 {if isset($category)} {if $category->id AND $category->active} {if $products} {include file="$tpl_dir./product-list.tpl" products=$products} {elseif !isset($subcategories)} {l s='There are no products in this category.'} {/if} {elseif $category->id}{l s='This category is currently unavailable.'} {/if}{/if}Как присвоить $category->id какое-то значение, 2, например? Link to comment Share on other sites More sharing options...
Dimitri Yelquin Posted April 29, 2011 Share Posted April 29, 2011 Как присвоить $category->id какое-то значение, 2, например? Вы думаете, это можно делать непосредственно в скрипте? Но, ведь, присвоенный категории номер уходит во многие файлы. Поменяйте -- и потом ничего у себя не найдёте. В этом файле категория имеет один номер, в других файлах -- другой. Link to comment Share on other sites More sharing options...
dazfx Posted April 29, 2011 Author Share Posted April 29, 2011 Ну, ОК, не меняя номера id, каким образом можно вывести товары конкретной категории, зная ее id и имя? Link to comment Share on other sites More sharing options...
artyr_n Posted April 29, 2011 Share Posted April 29, 2011 tpl это шаблон согласно которому показывается информация.Код который вы приводите это из файлов tpl переменные которые в них используются заполняются php скриптамипосмотрите откуда берется переменная products в файле categories.php в нее как раз и попадают продукты определенной категории, но только тогда когда вызывается categories.php. Link to comment Share on other sites More sharing options...
dazfx Posted April 30, 2011 Author Share Posted April 30, 2011 Вот, нашел модуль с нужным функционалом. Но 50 уе... http://catalogo-onlinersi.com.ar/150-products-by-categorie.html Link to comment Share on other sites More sharing options...
Dimitri Yelquin Posted April 30, 2011 Share Posted April 30, 2011 А разве у Вас не открывается любая категория или подкатегория из меню? Ну, или за неимением оного из блока категорий, который обычным языком называется боковым меню?.. Link to comment Share on other sites More sharing options...
dazfx Posted April 30, 2011 Author Share Posted April 30, 2011 Открывается. Но мне нужно чтобы в зависимости от выбраной категории, под блоком товаров выбраной категории, отображалась еще одна категория, которую я задаю вручную.Т.е щаблон product-list состоит из двух частей:1. {foreach from=$products item=product name=type}….{/foreach}{if $category->name == "snowboards"}{category->name ="boots"} - в этом месте и заминка. Не понятно как задать имя\id категории перед циклом, товары которой нужно отобразить... {foreach from=$products item=product name=type}….boots{/foreach}{/if}И еще один вопросик.Есть функция. {mycat id_product_my=$product.id_product} Ей почему-то не передается $product.id_product. Если задать в таком виде {mycat id_product_my=15} , то все ОК. Что не так?Спасибо! Link to comment Share on other sites More sharing options...
artyr_n Posted April 30, 2011 Share Posted April 30, 2011 начать нужно не с product-list.tpl а с category.php там проверить что за категорию будем выводить и если нужно то заполнить еще одну переменную продуктами с другой категории, а потом в tpl вывести эту переменную. Только задача как то странно звучит продуктов в категории может быть много и скрипт их (продукты) разбивает на страницы, куда вы тогда будете выводить вторую категорию? Link to comment Share on other sites More sharing options...
dazfx Posted April 30, 2011 Author Share Posted April 30, 2011 Продукты я вставляю в карусель. Продуктов в каждой категории не больше 20. Link to comment Share on other sites More sharing options...
artyr_n Posted April 30, 2011 Share Posted April 30, 2011 у вас в карусели есть php который готовит данные для построения карусели вот в нем и проверти что за категория и если та что вы ожидаете подготовте второй массив с товарами из друглй категории Link to comment Share on other sites More sharing options...
dazfx Posted April 30, 2011 Author Share Posted April 30, 2011 Я не использую модули для этого, поэтому php файлов там нет.getProducts($idcat, $id_lang, $p, $n, $orderBy = NULL, $orderWay = NULL)Это оно? Я просто не силен в смарти. Никак не могу толком понять что откуда и куда... Link to comment Share on other sites More sharing options...
dazfx Posted May 1, 2011 Author Share Posted May 1, 2011 ОК=) Link to comment Share on other sites More sharing options...
RoooM Posted August 2, 2012 Share Posted August 2, 2012 стандартный модуль вывода товаров на главную — homefeature есть ещё модуль-доработка (zapalm версия), где можно выбрать ID категории для вывода товара на главную prestashop — homefeaturez Можно сделать копии модуля для 3-го и 4 и 5-го блока товаров на главную, везде в коде каждого скопированного модуля нужно заменить homefeaturez — на homefeatureX или homefeature2, homefeature3. Затем в файле модуля php меняем HOME_FEATURED_CATALOG — на HOME_FEATURED_CATALOG2, 3, по аналогии — заходим в админку prestashop, включаем установленные модули, в каждом выбираем ID необходимой категории и все работает! На главной будут блоки с товарами из выбранных вами ID категорий prestashop. Мой скайп: rooomdsgn Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now