Версия для печати
Оригинальная версия ( http://prestadev.ru/forum/tema-1921.html )

PrestaShop CMS :: Русская поддержка интернет-магазина PrestaShop > Модули, плагины > [МОДУЛЬ] Комбинации товаров в виде таблицы


Разместил: zapalm Время: 31-10-2010 09:46
Модуль позволяет отображать комбинации товаров в виде таблицы.

Цена: 14 евро.

Устанавливается одной кнопкой. Для работы модуля никакие модификации в коде престы не нужны, но чтобы убрать стандартный блок с комбинациями нужно закомментировать часть кода в файле шаблона product.tpl темы оформления.

Модуль должен работать во всех версия. Тестировал в нескольких 1.2.x и 1.3.x.
Обновления модуля Вы будете получать всегда бесплатно.
Инструкция по оплате: http://modulez.ru/payment.php

Чтобы убрать стандартный блок с комбинациями, ценой, кнопкой «Добавить в корзину» и т.д., нужно закомментировать код в файле шаблона product.tpl темы оформления , начиная со строки:
Код:
<!-- add to cart form-->

И заканчивая перед строкой:
Код:
{if $HOOK_EXTRA_RIGHT}{$HOOK_EXTRA_RIGHT}{/if}


Комментируем с помощью фигурных скобок с парой со звездочкой, то есть таким образом:
Код:
{*
<!-- add to cart form-->
...
...
...
*}

{if $HOOK_EXTRA_RIGHT}{$HOOK_EXTRA_RIGHT}{/if}


Разместил: zapalm Время: 02-11-2010 16:27
Изменения в модуле:

- Убрал графу «Наименование», потому что не к чему она...
- Добавил возможность вывода цветовой группы в виде цветных квадратиков, как у стандартного блока выбора цвета товара.

Сделал http://modulez.ru/prestashop-product-combinations-in-a-table.php.

Чтобы убрать стандартный блок выбора цвета, комментируем следующий код в файле шаблона product.tpl Вашей темы с помощью {* *} :

Код:
{*
        {if $colors}
        <!-- colors -->
        <div id="color_picker">
            <p>{l s='Pick a color:' js=1}</p>
            <div class="clear"></div>
            <ul id="color_to_pick_list">
            {foreach from=$colors key='id_attribute' item='color'}
                <li><a id="color_{$id_attribute|intval}" class="color_pick" style="background: {$color.value};" onclick="updateColorSelect({$id_attribute|intval});$('#resetImages').show('slow');" title="{$color.name}">{if file_exists($col_img_dir|cat:$id_attribute|cat:'.jpg')}<img src="{$img_col_dir}{$id_attribute}.jpg" alt="{$color.name}" width="20" height="20" />{/if}</a></li>
            {/foreach}
            </ul>
                <a id="color_all" onclick="updateColorSelect(0);$('a#resetImages').hide('slow');" title="{l s='Cancel'}"><img src="{$img_dir}icon/cancel.gif" alt="{l s='Cancel'}" /></a>
            <div class="clear"></div>
        </div>
        {/if}
*}


Разместил: DNN Время: 02-11-2010 19:47
являюсь счастливым обладателем.. всё супер)

Разместил: zapalm Время: 03-11-2010 22:19
Изменения в модуле:

- Переместил блок с мелкими картинками товара под блок с краткой инфой о товаре.
- Не отображались инфа, что товар со скидкой и цены комбинаций со скидками. Теперь показывает все это.

Чтобы переместить блок с мелкими картинками нужно модифицировать его код и переместить в блок:
Код:
<!-- left infos-->
    <div id="pb-left-column">
    ...
    ...
    ...
    </div>


Делается это в файле шаблона product.tpl темы оформления.

Удаляем код:


Код:
{if count($images) > 0}
        <!-- thumbnails -->
        <div id="views_block" {if count($images) < 2}class="hidden"{/if}>
        {if count($images) > 3}<span class="view_scroll_spacer"><a id="view_scroll_left" class="hidden" title="{l s='Other views'}" href="javascript:{ldelim}{rdelim}">{l s='Previous'}</a></span>{/if}
        <div id="thumbs_list">
            <ul style="width: {math equation="width * nbImages" width=80 nbImages=$images|@count}px" id="thumbs_list_frame">
                {foreach from=$images item=image name=thumbnails}
                {assign var=imageIds value=`$product->id`-`$image.id_image`}
                <li id="thumbnail_{$image.id_image}">
                    <a href="{$link->getImageLink($product->link_rewrite, $imageIds, 'thickbox')}" rel="other-views" class="thickbox {if $smarty.foreach.thumbnails.first}shown{/if}" title="{$image.legend|htmlspecialchars}">
                        <img id="thumb_{$image.id_image}" src="{$link->getImageLink($product->link_rewrite, $imageIds, 'medium')}" alt="{$image.legend|htmlspecialchars}" height="{$mediumSize.height}" width="{$mediumSize.width}" />
                    </a>
                </li>
                {/foreach}
            </ul>
        </div>
        {if count($images) > 3}<a id="view_scroll_right" title="{l s='Other views'}" href="javascript:{ldelim}{rdelim}">{l s='Next'}</a>{/if}
        </div>
        {/if}
        {if count($images) > 1}<p class="align_center clear"><a id="resetImages" href="{$link->getProductLink($product)}" style="display:none;" onclick="$('a#resetImages').hide('slow');return (false);">{l s='Display all pictures'}</a></p>{/if}


Копируем код:
Код:
{if count($images) > 0}
        <!-- thumbnails -->
        <div id="views_block" {if count($images) < 2}class="hidden"{/if}>
            <div id="thumbs_list">
                <ul style="width: {math equation="width * nbImages" width=80 nbImages=$images|@count}px" id="thumbs_list_frame">
                    {foreach from=$images item=image name=thumbnails}
                    {assign var=imageIds value=`$product->id`-`$image.id_image`}
                    <li id="thumbnail_{$image.id_image}">
                        <a href="{$link->getImageLink($product->link_rewrite, $imageIds, 'thickbox')}" rel="other-views" class="thickbox {if $smarty.foreach.thumbnails.first}shown{/if}" title="{$image.legend|htmlspecialchars}">
                            <img id="thumb_{$image.id_image}" src="{$link->getImageLink($product->link_rewrite, $imageIds, 'medium')}" alt="{$image.legend|htmlspecialchars}" height="{$mediumSize.height}" width="{$mediumSize.width}" />
                        </a>
                    </li>
                    {/foreach}
                </ul>
            </div>
        </div>
        {/if}
        {if count($images) > 3}
            <a id="view_scroll_left" title="{l s='Other views'}" href="javascript:{ldelim}{rdelim}">{l s='Previous'}</a>
            <a id="view_scroll_right" title="{l s='Other views'}" href="javascript:{ldelim}{rdelim}">{l s='Next'}</a>
        {/if}
        {if count($images) > 1}<p class="align_center clear"><a id="resetImages" href="{$link->getProductLink($product)}" style="display:none;" onclick="$('a#resetImages').hide('slow');return (false);">{l s='Display all pictures'}</a></p>{/if}


Вставляем его между этим:
Код:
...
                    ...
                    ...

                    <div class="pack_content">
                        {$packItem.pack_quantity} x <a href="{$link->getProductLink($packItem.id_product, $packItem.link_rewrite, $packItem.category)}">{$packItem.name|escape:'htmlall':'UTF-8'}</a>
                        <p>{$packItem.description_short}</p>
                    </div>
                {/foreach}
            {/if}
        </div>
        {/if}


И этим:
Код:
{if $colors}
<!-- colors -->
...
...
...


Разместил: zapalm Время: 10-11-2010 19:52
Изменения в модуле:

Добавил возможность выбирать, какие столбцы включать в таблицу, а какие нет.

Теперь, версия модуля: v1.1

Разместил: zapalm Время: 16-11-2010 21:04
Изменения в модуле:

- Стал больше выбор столбцов в настройках, которых можно назначить или запретить отображать в таблице.
- Можно назначить или запретить отображать расшифровку статусов товара на складе в конце таблицы.
- Кнопка «Добавить в корзину» теперь дружит с AJAXом. Можно включить и отключить эту возможность через админку.
- Добавил всплывающие подсказки, которые появляются, если навести на значок доступности товара на складе.
- http://modulez.ru/prestashop-product-combinations-in-a-table.php.
- http://prestadev.ru/forum/tema-1820.html.

Теперь, версия модуля: v1.2
Стоимость теперь на единицу больше: 15 евро.

Разместил: olja1 Время: 29-12-2010 15:58
Это все хорошо, а как сделать вывод товаров в категории в виде такой таблицы? Очень надо, может кто знает как это сделать?

Разместил: zapalm Время: 10-04-2011 22:40
Цитата:( olja1 @ 29-12-2010 18:58 Смотреть сообщение )
Это все хорошо, а как сделать вывод товаров в категории в виде такой таблицы? Очень надо, может кто знает как это сделать?

Заказывайте, сделаю.

Разместил: yadoctor Время: 10-04-2011 23:10
Добрый день!
Данный модуль применителен к данной задаче:
Задача как здесь в результате поиска нужна подобная выдача списком:
миниатюра фото
производитель
название товара
цена
корзина
Примерно как здесь - www exist . ru

Разместил: zapalm Время: 27-06-2011 07:31
если кто-то переехал на новый сервер или сменил домен, и модуль перестал работать, то напишите мне на почту, чтобы я исправил. был в командировке и переписка не сохранилась. сюда не нужно писать.

Разместил: zapalm Время: 29-07-2011 05:33
Изменения в модуле:
- перенесен на PS 1.4
- добавлена графа для выбора количества товара для покупки

Теперь версия модуля: 1.4
Цена: 20 Евро (800 руб.)
Эта версия модуля обратно не совместима с PS 1.3 и ниже.

Версия модуля для PS 1.2 - 1.3 отличается от версии для PS 1.4 только тем, что не имеет графу для выбора количества товара для покупки.

Разместил: zapalm Время: 18-08-2011 14:19
Теперь этот форум для версии модуля для PS 1.2 - 1.3.
Всю информацию по модулю для PS 1.4 смотритеhttp://prestadev.ru/forum/tema-3999.html.


Замечания к установке и частные ошибки пользователей:
- http://modulez.ru/download/product-combinations-module-1.3-how-to-install_ru.mp4.

- всегда после изменения кода в java-script файлах, вам нужно обновлять страницу нажатием F5, чтобы браузер заново загрузил JS-файлы с сервера, а не брал их из своего кеша.

- после изменения кода в tpl-файлах, вы должны убедиться, что у вас включена (true) опция «Force compile» для рекомпиляции файлов шаблона, которые вы изменили, иначе вы не увидите никаких изменений во фронтофисе (морде сайта). Эта опция доступна через файл /config/smarty.config.inc.php, строка $smarty->force_compile. После того, как вы отладили сайт, эту опцию следует выключить (false).

- на время отладки сайта включите вывод ошибок, чтобы знать, где вы ошиблись, когда изменяли код PS. Для этого, поставьте 'on' вместо 'off' в строке @ini_set('display_errors', 'off') в файле /config/config.inc.php.

http://prestadev.ru/forum/tema-1820-20.html#pid22267

www.prestadev.ru