|
|
03.04.2012, 22:00
|
|
nops
Группа 5а5
Зарегистрирован: 2009-01-05
Сообщений: 112
|
Подскажите, кто делал интернет-магазины.
Сейчас делаю магазин, необходимо на главной выводить самый популярный товар в 2 столбика в прямоугольниках, это я сделал:
Вывожу из шаблона так: ".nc_objects_list(109,147,"recNum=2&tmpl=short")."
html прописал в "Компоненты -> Интернет-магазин -> Магазин: Товар" в поле "Объект в списке:"
Там код вида:
Код:$f_AdminButtons
<li class='item'>
<div class='main-block'>
<div class='top-corners'>
<div><div> </div></div>
</div>
<div class='corner'>
<div class='full-width'>
<div class='product-box'>
<a href='$fullLink' title='$f_Name' class='product-image' align='center'>".opt($f_Image, "<img src='$f_Image_url' alt='$f_Name' height='118'>")." </a>
<div class='product-details'>
<h3 class='product-name'><a href='$fullLink' title='$f_Name'>$f_Name</a></h3>
<div class='price-box'>
<span class='regular-price' id='product-price-109-new'>
<span>Цена: </span><span class='price'>".$shop->FormatCurrency($Price, $Currency, true)."</span>
</span>
</div>
<div class='actions'>
<button type='button' title='Add to Cart' class='button btn-cart' onclick=\"setLocation('http://тут_ссылка/')\">
<span><span>Add to Cart</span></span>
</button>
<br class='clear'>
</div>
</div>
<br class='clear'>
</div>
</div>
</div>
<div class='bot-corners'>
<div><div> </div></div>
</div>
</div>
</li>
Товар выводится все нормально.
Теперь нужно на внутренних страницах, в разделах и подразделах товара, выводить полный список товара иного вида:
как это теперь реализовать.
пока на главной я вывожу товар, который есть в одном единственном разделе, но разделов будет много и товар надо будет выводить со всех разделов, скажем самый популярный
|
|
|
04.04.2012, 01:31
|
|
nops
Группа 5а5
Зарегистрирован: 2009-01-05
Сообщений: 112
|
Вообщем все что до меня дошло, нужно создавать отдельный компонент, в котором руками прописывать выборку из БД, или обработку, которая будет выдерать из БД популярные позиции и красиво, как уж в компоненте нарисую, будет выводить на главную по запросу ".nc_objects_list(109,147,"recNum=2&tmpl=short").", где
вместо 109 будет раздел(в моем случае) "Титульная страница", а 147, компонент в разделе титульной страницы, который кокраз и делает эту выборку. Выводим этих позиций штук 10 и наслаждаемся.
а для каталога товаров магазина используем стандартный компонент, его вполне достаточно...
Вот только вопрос, как же сделать эту выборку, если с php я не дружу так хорошо, а программер уволился
|
|
|
04.04.2012, 06:13
|
|
nops
Группа 5а5
Зарегистрирован: 2009-01-05
Сообщений: 112
|
Появилась еще мысль, на главной странице, прямо из шаблона вызывать компонент, товары, только немного подправленный и вместо каждой переменной, типа $fulllink или $f_Name и подобных, написать sql-запрос с выборкой конкретного поля.
Но останется вопрос, как упорядочить, чтобы одно и тоже не выводил...
P.S.Поковырял я скуль, как-то тяжело дается...
|
|
|
04.04.2012, 07:36
|
|
nops
Группа 5а5
Зарегистрирован: 2009-01-05
Сообщений: 112
|
Уже 60 просмотров и ни один не высказал идеи...
Ну что же вы так?!
|
|
|
04.04.2012, 09:53
|
|
DiGGy
DiGGy
Зарегистрирован: 2005-04-04
Сообщений: 1546
|
К компоненту магазина нужно создать шаблон, в котором в системных настройках надо прописать:
Цитата:$ignore_sub = $ignore_cc = 1;
$query_where = "a.`Top` = 1"; // где Top - это поле-признак популярного товара (я не знаю как оно у вас называется - подставьте свой вариант)
Цитата:Вот только вопрос, как же сделать эту выборку, если с php я не дружу так хорошо, а программер уволился
Если у вас этим вопросом занимался программер, то логичнее всего нанять другого программера.
Temet nosce...
|
|
|
04.04.2012, 13:13
|
|
nops
Группа 5а5
Зарегистрирован: 2009-01-05
Сообщений: 112
|
Цитата:К компоненту магазина нужно создать шаблон, в котором в системных настройках надо прописать:
Цитата:$ignore_sub = $ignore_cc = 1;
$query_where = "a.`Top` = 1"; // где Top - это поле-признак популярного товара (я не знаю как оно у вас называется - подставьте свой вариант) Вот с этого момента поподробнее...
плиззз.
|
|
|
04.04.2012, 14:53
|
|
nops
Группа 5а5
Зарегистрирован: 2009-01-05
Сообщений: 112
|
Цитата:К компоненту магазина нужно создать шаблон, в котором в системных настройках надо прописать:
Цитата:$ignore_sub = $ignore_cc = 1;
$query_where = "a.`Top` = 1"; // где Top - это поле-признак популярного товара (я не знаю как оно у вас называется - подставьте свой вариант)
Ааа, кажется понял о чем речь...
я создаю новый шаблон в компоненте "Интернет-магазин"(или в товар, который используется для в качестве каталога), далее вызываю из шаблона так же, только указываю ID созданного шаблона...
".nc_objects_list(XX,YY,"tmpl=ZZZ")."
, где
XX - раздел
YY - компонент в разделе
ZZZ - yjvth/id шаблона, который мы создали.
Так?!
|
|
|
04.04.2012, 17:35
|
|
DiGGy
DiGGy
Зарегистрирован: 2005-04-04
Сообщений: 1546
|
так.
Temet nosce...
|
|
|
04.04.2012, 19:20
|
|
nops
Группа 5а5
Зарегистрирован: 2009-01-05
Сообщений: 112
|
Спасибо. завтра попробую. Сегодня как-то тяжело было, вторые сутки на ногах, так что завтр апопробую и отпишусь.
|
|
|
05.04.2012, 13:35
|
|
nops
Группа 5а5
Зарегистрирован: 2009-01-05
Сообщений: 112
|
Спасибо, попробовал. Получилось, но выводит данные только с указанного раздела.
А если разделов много и каждый раздел содержит подразделы.
В итоге будет выглядеть так
- игрушки (100 товаров)
-- мягкие (200 товаров)
-- электронный (50 товаров)
- компьютеры (30 штук)
-- переносные (45 штук)
-- стационарные (100 штук)
Ну примерно так.
Предложенный Вами вариант, выводит только товар, который есть в конкретном разделе, а нужно со всех разделов. Вот и вопрос, как вывести со всех существующих разделов товар...
|
|
|
05.04.2012, 14:08
|
|
nops
Группа 5а5
Зарегистрирован: 2009-01-05
Сообщений: 112
|
Друзья!
Я, если я правильно думаю, популярные товары надо выводить на основании продаж.
Вот тут появляется проблема.
нужно делать выборку из БД по проданным поварам, а в каждом заказе может быть разное количество одного и того же товара. т.е. получается, нужно сделать выборку всех товаров проданных товаров, просуммировать количество продаж одних и тех же товаров и выводить уже на основании этих вычислений.
Либо же вести статистику продаж каждого товара, а именно, при продаже делать +"количество позиций" к каждому купленному товару. Наверное так будет куда проще. Подскажите посему следующее:
т.к. каждый компонент - это новая таблица в БД с названием MessageXX, где ХХ номер компонента, в которой есть поля. Если я правильно понял, каждое поле(в данном случае рассматриваем "Интернет-магазин: Товар") - это созданное нами поле в админке. посему, нужно чтобы компонент "инетрнет-магазин: заказ" приплюсовывал "количество позиций" к каждому товару в поле скажем Top.
Это надо открыть таблицу Message57 в нем делать выборку покупаемого товара и приплюсовывать значению в поле Top "количество позиций".
Соответственно вопрос, где в компоненте "Заказ" добавлять код для прибавления значения?!
Может быть я как-то не так думаю. Сейчас все реализовано стандартными компонентами, там, на сколько я понял, отдельно не ведется статистика по каждому товару, поэтому нужно выдергивать из проданных товаров.
Кто что предложит?!
P.S. Первый раз делаем магазин на NetCat-е, поэтому столько вопросов.
|