#1 2013-10-21 16:07

vofka
Администратор

Пожелания по хелперам Shop-Script 5

Уважаемые разработчики тем дизайна, каких хелперов в Shop-Script 5 (и в других приложениях фреймворка) вам не хватает? Разработчики Shop-Script 5 будут рады выслушать ваши пожелания.

Примеры хелперов: {$wa->shop->cart()}, {$wa->shop->products('tag/новинки')}
(другие хелперы можно посмотреть в шпаргалке дизайн-редактора)

Неактивен

 

#2 2013-10-21 17:03

grin-baks
Пользователь

Re: Пожелания по хелперам Shop-Script 5

Нужен хелпер для вывода дерева категорий с конкретной витрины. Нужен такой хелпер для больших многовитринных сайтоы с различными тематическими разделами. Например для вывода деревьев категорий на главной странице на сайтах по типу озона.(то есть главная страница и много тематических разделов) Или например для сайтов одежда типа вилбирис или отто. На главной странице деревья категорий которые ведет на различные витрины мужскую/женскую/детскую и т.п.


Т.е. Нужна конструкция типа {$wa->shop->categories_by_type($type_id = 0)}

Отредактировано grin-baks (2013-10-27 12:08)

Неактивен

 

#3 2013-10-21 17:26

grin-baks
Пользователь

Re: Пожелания по хелперам Shop-Script 5

Так же нужна возможность менять HTML разметку форм регистрации и авторизации.

Отредактировано grin-baks (2013-10-22 11:36)

Неактивен

 

#4 2013-10-29 10:45

grin-baks
Пользователь

Re: Пожелания по хелперам Shop-Script 5

И ещё нельзя  привязать список с товарами одной витрины вывести на другой витрине.

Пример использования: Те у кого  несколько витрин наверняка захотят осуществлять перекрёстные продажи между витринами. Почему бы тем кто пришел за автомобилем не предложить покрышки.  Тем кто покупает кофе наверняка может заинтересоваться посудой для его приготовления, или кофе машиной. Тематики разные и для продвижения их стоит располагать на разных доменах но хорошо бы сделать блок с например самыми популярными товарами, кликнув на которые покупатель попадёт в категорию другой витрины. Сейчас же такая возможность отсутствует.


Так же поиск. Должна быть возможность выбирать вести поиск по одной витрине или по каким то конкретным витринам при этом чтобы ссылки вели именно на другие витрины.

Без этих вышеупомянутых функций во всех предшествующих постах и в этом на мой взгляд теряется вся соль многовитринности. Сейчас её можно использовать разве лишь  с целью сэкономить на дополнительных лицензиях но каких то реальных преимущест для создания сложных многовитринных конструкций нет. Сейчас для решения приходится заказывать дорогие доработки которые уже многократно превысили цену самого SS5,  но самое печальное что кое что  и вовсе не решить только плагинами.

Отредактировано grin-baks (2013-10-29 10:54)

Неактивен

 

#5 2014-02-04 13:50

B2ron
Пользователь

Re: Пожелания по хелперам Shop-Script 5

Очень не хватает хэлпера по выводу присвоенного типа товара.

Неактивен

 

#6 2014-02-04 14:19

alexmuz
Webasyst

Re: Пожелания по хелперам Shop-Script 5

B2ron написал:

Очень не хватает хэлпера по выводу присвоенного типа товара.

А давайте вы как-нибудь это нормально сформулируете, чтобы это стало понятно не только вам.
А еще лучше если вы приведёте пример.

Неактивен

 

#7 2014-02-04 15:22

B2ron
Пользователь

Re: Пожелания по хелперам Shop-Script 5

alexmuz написал:

B2ron написал:

Очень не хватает хэлпера по выводу присвоенного типа товара.

А давайте вы как-нибудь это нормально сформулируете, чтобы это стало понятно не только вам.
А еще лучше если вы приведёте пример.

http://forum.webasyst.ru/uploads/4300_tip-tovara.png
Как вывести имя присвоенного типа товаров на страницу товара (product.html)?
В принципе не помешало бы и в категории (category.html) иметь возможность вывода типа товара.

Отредактировано B2ron (2014-02-04 15:28)

Неактивен

 

#8 2014-02-04 15:34

alexmuz
Webasyst

Re: Пожелания по хелперам Shop-Script 5

В product.html
{$product.type.name}

В category.html уже сложнее... Там чтобы это получить внутри цикла, сначала надо получить все нужные типы. Задача довольно специфичная, так что проще будет решить с помощью кастомного хелпера shopCustom, который будет для всего массива $products возвращать массив типов $types, а дальше уже
{$types[$p.type_id].name}

Неактивен

 

#9 2014-02-04 15:43

B2ron
Пользователь

Re: Пожелания по хелперам Shop-Script 5

alexmuz написал:

В product.html
{$product.type.name}

Спасибо, буду знать. Но этой информации нет в шпаргалке.

Неактивен

 

#10 2014-07-31 19:53

Evgeniy_Onegin
Пользователь

Re: Пожелания по хелперам Shop-Script 5

alexmuz написал:

В product.html
{$product.type.name}

В category.html уже сложнее... Там чтобы это получить внутри цикла, сначала надо получить все нужные типы. Задача довольно специфичная, так что проще будет решить с помощью кастомного хелпера shopCustom, который будет для всего массива $products возвращать массив типов $types, а дальше уже
{$types[$p.type_id].name}

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

Неактивен

 

#11 2014-08-01 09:35

rat
Администратор

Re: Пожелания по хелперам Shop-Script 5

Примерно так я бы сделал:

Код:

<?php

class shopCustom
{

    public static function productType($product, $products)
    {
        static $product_types;
        if ($product_types === null) {
            $product_types = array();
            foreach ($products as $p) {
                $product_id = self::getProductId($p);
                if ($product_id) {
                    $product_types[$product_id] = null;
                }
            }
            if ($product_types) {
                $model = new waModel();
                $sql = '
                    SELECT p.id as product_id, t.name
                    FROM shop_product p
                    LEFT JOIN shop_type t
                    ON t.id = p.type_id
                    WHERE p.id IN (i:product_ids)
                ';
                $data = $model->query($sql, array('product_ids' => array_keys($product_types)))->fetchAll('product_id', 1);
                foreach ($product_types as $product_id => &$p) {
                    $p = isset($data[$product_id]) && $data[$product_id] ? $data[$product_id] : '';
                }
                unset($p);
            }
        }
        $product_id = self::getProductId($product);
        if ($product_id && isset($product_types[$product_id])) {
            $result = $product_types[$product_id];
        }
        if ($product === end($products)) {
            $product_types = null;
        }
        return isset($result) ? $result : null;
    }

    private static function getProductId($product)
    {
        $result = null;
        if (isset($product['product_id']) && (int) $product['product_id'] > 0) {
            $result = $product['product_id'];
        } elseif (isset($product['id']) && (int) $product['id'] > 0) {
            $result = $product['id'];
        }
        return $result;
    }

}

Для отображения типов товаров в шаблон list-thumbs.html в нужное место внутри цикла перебора товаров добавить вызов метода:

Код:

<p>{shopCustom::productType($p, $products)}</p>

Неактивен

 

#12 2014-08-30 22:02

Iskenderman
Пользователь

Re: Пожелания по хелперам Shop-Script 5

Хелпер для получения URL приложения "Магазин": {$wa->shop->appUrl()}
Иногда в шаблоне других приложений нужно узнать URL магазина.

Неактивен

 

Board footer

Powered by PunBB