Перейти к содержанию
Форум поддержки пользователей VamShop

Создание модуля "лидеры продаж"


Иван Юрченко

Рекомендуемые сообщения

Не нашел инструкции по созданию и вывода по центру нового модуля, есть только создание нового бокса. Мне нужно вывести по центру список бестселлеров (аналог работы бокса "лидеры продаж"). Блок specials и другие аналогичные уже заняты, нужен новый отдельный модуль. Если у кого есть готовый - могу купить.

Ссылка на сообщение
Поделиться на другие сайты

а если этот бокс по центру разместить? оформить, чтобы показывалось нужное количество товаров (название товара, картинка, цена).

Ссылка на сообщение
Поделиться на другие сайты

Такое решение на форуме уже обсуждалось. А если мне завтра понадобиться бокс бестселлеров в стандартном виде?

Ссылка на сообщение
Поделиться на другие сайты

Если бокс править, то там проблема будет. Раз он не будет описан в файле main_content.html, то его нужно в условии выводить, чтобы он на остальных страницах, кроме корневой не показывался. Что-то типа:

<div id="content">
{if $smarty.server.REQUEST_URI eq '/' or $smarty.server.REQUEST_URI eq '/index.php'}
{$box_BESTSELLERS}
{/if}
{$main_content}
</div>[/code]

Ну и на главной если есть текст для инфо. страницы, то эти "лидеры продаж" не в нужном месте будут показываться - придётся текст инфо. страницы тоже в index.html вставлять.

Как модуль лично я пытался, но у меня не получилось. Пришлось как бокс выводить. Вот тут пример: http://mokusha.ru. Соответственно, верхний баннер под "хлебными крошками" засунут в index.html и изменения вносить придётся уже там.

Ссылка на сообщение
Поделиться на другие сайты

По умолчанию не будет, т.к. есть бокс справа и он и так довольно грузит MySQL, если много товаров, зачем удваивать количество запросов к базе.

А сделать по центру вообще не проблема, было бы желание, самое простое - взять /includes/modulesfeatured.php к примеру и поменять SQL запрос на такой же как в /templates/шаблон/source/boxes/best_selllers.php

Ссылка на сообщение
Поделиться на другие сайты

У меня блок featured.php задействован - не могу его калечить.

Хорошо, а где формируется сортировка товара, хочу добавить в сортировку листинга товаров что-то вроде <a href="{$LINK_sort_products_ordered_desc}">бестселлеры по убыванию</a>

Ссылка на сообщение
Поделиться на другие сайты

Используйте /includes/modules/new_products.php

или делайте на его основе новый блок.

Вот тема была - http://vamshop.ru/forum/index.php?topic=2673.msg22038#msg22038

С примерным описанием куда и что подключать.

Дело 5-10 минут на самом деле.

Сортировка в /includes/modules/default.php

Ссылка на сообщение
Поделиться на другие сайты

похоже сортировка где-то еще формируется, сам линк  $LINK_sort_price_asc где задается?

Ссылка на сообщение
Поделиться на другие сайты

в /includes/modules/product_listing.php внес код, аналогичный сортировке по цене, в результате появился линк /название_категории.html?sort=ordered&direction=desc но он сортировку не меняет

Ссылка на сообщение
Поделиться на другие сайты

Нужно я так понимаю ещё и sql запрос менять, который в $listing_sql, что б новая сортировка работала, смотрите примеры того как сделана стандартная сортировка.

Ссылка на сообщение
Поделиться на другие сайты

само собой ранее сделано - в /includes/modules/default.php в 4 местах в запрос $listing_sql добавил

p.products_ordered

в /includes/modules/default.php

почему-то после

    // We are asked to show only a specific category

    if (GROUP_CHECK == 'true') {

    $group_check = " and p.group_permission_".$_SESSION['customers_status']['customers_status_id']."=1 ";

    }

    $listing_sql =

добавлено p.products_price, в список дважды - это так задумано?

Ссылка на сообщение
Поделиться на другие сайты

Там же несколько раз встречается $listing_sql

Наверное не везде добавили необходимый код, поэтому и не работает.

Ссылка на сообщение
Поделиться на другие сайты

Не знаю, видимо, что-то не так делаете, раз не работает.

Может проще будет сделать как-то так - http://vamshop.ru/forum/index.php?topic=48.msg58142#msg58142

Что б в админке при создании категории выбирать порядок сортировка товара внутри данной категории.

Ссылка на сообщение
Поделиться на другие сайты

В админке эту сортировку и подключать дополнительно не надо - там уже есть сортировка по "заказанное количество товара" и она работает. Нужно именно в блок сортировок вывести такую ссылку

Ссылка на сообщение
Поделиться на другие сайты

Так Вы что имено правили и что добавляли, Вы б хоть написали, наугад всё равно ничего сказать нельзя.

Ссылка на сообщение
Поделиться на другие сайты

в /includes/modules/product_listing.php

после

$module->assign('LINK_sort_price_desc',vam_href_link(basename($PHP_SELF),vam_get_all_get_params(array ('page','sort', 'direction', 'info','x','y')) . 'sort=price&direction=desc'));

добавил

$module->assign('LINK_sort_ordered_desc',vam_href_link(basename($PHP_SELF),vam_get_all_get_params(array ('page','sort', 'direction', 'info','x','y')) . 'sort=ordered&direction=desc'));

$module->assign('LINK_sort_ordered_asc',vam_href_link(basename($PHP_SELF),vam_get_all_get_params(array ('page','sort', 'direction', 'info','x','y')) . 'sort=ordered&direction=asc'));

и на всякий случай после

.$_GET['price_min'].'_'.$_GET['price_max']

добавил

.$_GET['ordered_min'].'_'.$_GET['ordered_max']

в /templates/шаблон/module/product_listing/product_listing_3-columns.html  (у меня свой шаблон, пробовал также в product_listing_list.html - аналогично безрезультатно )

после

<a href="{$LINK_sort_name_desc}" title="по убыванию">&darr;</a>

добавил

&nbsp;&nbsp;<a href="{$LINK_sort_ordered_desc}" title="по убыванию">&darr;</a>

в /includes/modules/default.php

в 4 местах в блоке $listing_sql = "select 

после p.products_tax_class_id,

добавил p.products_ordered

подозреваю что может надо-было и в /includes/functions/params_filters.php внести изменения?

пробовал там добавлять код аналогично для price_min, price_max, но боюсь что в этом файле мог и неправильно вставить код, прикрепляю его со своими изменениями.

params_filters.php

Ссылка на сообщение
Поделиться на другие сайты

Выглядит всё правильно.

В /includes/functions/params_filters.php попробуйте ещё после:


            if ($_GET['sort'] == 'price') $sql .= " ORDER BY p.products_price ";
[/code] добавить:
[code]
            if ($_GET['sort'] == 'ordered') $sql .= " ORDER BY p.products_ordered ";

Ссылка на сообщение
Поделиться на другие сайты

но в /includes/functions/params_filters.php у меня нет такого кода:

            if ($_GET['sort'] == 'price') $sql .= " ORDER BY p.products_price ";

версия вамшопа 1,59

Ссылка на сообщение
Поделиться на другие сайты

вы говорите о файле /includes/functions/params_filters.php ?

там нет такого кода, даже в версии 1,61, файл прицепил

params_filters.php

Ссылка на сообщение
Поделиться на другие сайты

Вот текущий файл /includes/functions/params_filters.php

Видимо, вносились и в него изменения, раз у Вас нет.

params_filters.php

Ссылка на сообщение
Поделиться на другие сайты

заменил файл /includes/functions/params_filters.php

внес туда выше указанный код + код аналогичный для price

сортировка не работает:

<a href="{$LINK_sort_ordered_desc}" title="по убыванию">&darr;</a>

пересортирует в режим, заданный в админке по умолчанию для данной категории.

вот сам файл с моим кодом

params_filters.php

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...