Здравствуйте.

Как получить в карточке товара:
1) Спец категории, в которых состоит товар
2) автоКатегории, в которых состоит товар (через "Подбор товаров")

Косяк оказался в устаревшей версии rs.filter.js в скопированной теме.

Обновил всё заработало.

Но если много характеристик и значений - лучше не делать.
Получается десятки (а может и сотни) тысяч страниц - которые либо нужно через SEO - контроль прописать уникальные мета-данные, - ЛИБО дубли.

Но с функционалом разобрался. Спасибо за подсказки от всех выше.

Ключевые моменты выделены жирным, особенно {if $prop_value==$value}, чтобы URL не для всех возможных вариантов на карточке товара, а только для конкретного товара - упустили выше :

{$maindir=$product->getMainDir()}
{$url=$maindir->getUrl()} {* Получаем нужный адрес *}

    <tbody>
        {foreach $product->fillProperty() as $data}
                {$dataGroup = $data.group.title}
                {foreach $data.properties as $property}
                    {$prop_value = $property->textView()} {if !$property.hidden && $prop_value != ''}
{$values_objects=$property->getAllowedValuesObjects()}
                            
                    <tr class="tab-content_table_character-text">
                        <td><span>{$property.title} {if $property.unit}({$property.unit}){/if}</span></td>
                        <td><span>
                            {foreach $property->getAllowedValues() as $key => $value}
                            {$proper = $values_objects[$key].alias}
                            {if $prop_value==$value}
                            <a href="{$url}{$property.alias}_{$proper}/">{$value}</a>
                            {/if}
                            {/foreach}    

Здравствуйте. Подскажите как вывести количество товаров в категории, создаваемой с помощью подбора товаров?

4

(1 ответов, оставленных в Вопросы по работе с системой)

Здравствуйте.

Сейчас так:

В разделе: "Каталог товаров", нужно нажать кнопку "Импорт/экспорт", в выпадающем списке "Импорт товаров из CSV"

Далее откроется окно где после чтения файла, нужно сопоставить колонки, и нажать начать импорт.

Вопрос:

Как можно сделать, чтобы RS запускала импорт через CSV например раз в сутки из директории на хостинге.
Во-вторых опустить сопоставление, так как импорт отлажен и все колонки должны быть загружены.

Закусило Александр пишет:

Ну можно так, но это с потерей поддержки тогда будет. Лучше сделать отдельным модулем и относледовать класс в Вашем модуле. Так будет лучше всего.

К сожалению, пока это не умею делать.


Что значит с потерей поддержки? Обновления не будет?

Как вариант Вы можете использовать в шаблоне, условия по номеру дня недели

{assign var="WeekDay" value=$smarty.now|date_format:'%w'}

{if ($WeekDay==4)}

шаблон вывода акции для четверга

{elseif ($WeekDay==2) or ($WeekDay==6)}

шаблон для ВТОРНИКА или СУББОТЫ

{else}

остальные дни

{/if}

Сам разобрался.

Всё было просто:

Создаём файл

commonoffertype.my.inc.php

в папке рядом с

commonoffertype.inc.php

Подскажите, как лучше сделать:

Мне необходимо в стандартный экспорт "Яндекс.Маркет", добавить определённые поля, чтобы получался файл с несколькими ценами.

Сделал нужные изменения в файле
commonoffertype.inc.php

modules/export/model/exporttype/yandex/offertype/commonoffertype.inc.php

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

Как можно сделать переопределение этого файла, чтобы при обновлении ничего не пропало.

Может быть можно как то сделать ещё один тип выгрузки, например "МойЯндекс.Маркет", чтобы при обновлении он не затирался.

{$app->meta->addKeywords($metaK,',','before')|devnull}
{$app->meta->addDescriptions($metaD,',','before')|devnull}

не дублирует теги

{$app->title->addSection($metaT,',','before')|devnull}

Изменяет TITLE
Но после своего значение добавляет:
"МОЙ ТАЙТЛ :: Название пункта"

...........................
{$app->meta->cleanMeta('keywords'])|devnull}

У Вас опечатка.
ta('key ====== надо ta(['key
----------------------------------

Здравствуйте.
Как можно переопределить значения META тегов из шаблона?

По аналогии с этим
{$app->meta->add(['name' => 'viewport', 'content' => 'width=device-width, initial-scale=1.0'])|devnull}

Не получается:
1) как удалить первые meta теги, так как при добавлении этой строкой получается два раза теги
{$app->meta->add(['name' => 'keywords', 'content' => 'здесь текст'])|devnull}
2) Как вместо конкретного текста вставить значение переменной или нескольких
{$app->meta->add(['name' => 'keywords', 'content' => '$param'])|devnull}
Выводит код <meta name="keywords" content="$param" >
То есть не значение переменной, без кавычек - выводит content=0

12

(5 ответов, оставленных в Вопросы по работе с системой)

Что за тема?
Что за сайт?
Слишком мало информации.

Понял, так и делаю. Думал, что как-то можно автоматически сделать.

Подскажите в ReadyScript есть такая функция, но я не понял как она работает?

Открываем категорию "Брюки" https://www.dinomama.ru/summer/bruki/
(TITLE - Демисезонные брюки для детей)

Ставим несколько фильтров либо один https://www.dinomama.ru/brand/huppa/summer/bruki/boys/

Автоматически формируется новый URL
состоящий из фильтра: "БРЕНД", "СЕЗОН", "ПОЛ"
плюс Title и H1 поменялся  (Демисезонные брюки Huppa для мальчиков)

Сейчас создаю категорию с указанием "Подбор товара" и определённые характеристики.

Вопрос заключается в том, что можно ли как то автоматически формировать страницы:

Основная категория "Конструкторы",

если с фильтром по бренду "Полесье"
То автоматически TITLE и H1 - меняется на "Конструкторы Полесье"

если с фильтром по материалу "Дерево"
Например автоматически TITLE и H1 - меняется на "Деревянные Конструкторы"

Если два фильтра, то соответственно "Деревянные Конструкторы Полесье"

Здравствуйте.

Есть такой код:

{assign var="propOneT" value=","|explode:$propertyT->textView()}
{foreach $propOneT as $showT}
<a href="/catalog/?query={$showT|trim}">{$showT|trim} </a>
{/foreach}

Формирует ссылку на результаты поиска.
Мне бы хотелось ссылку на страницу с фильтром по харатеристике

<a href="/catalog/?bfilter[cost][from]=0.01&pf[343][]=38">Круглое</a>

Где
343 - это id характеристики
38 - это id значения характеристики - ЕГО НИКАК НЕ ПОЛУЧАЕТСЯ ПОЛУЧИТЬ
Круглое - это название значения характеристики - $propertyT->textView() НО  если, например несколько значений подходит возникает проблема (выводится текстовая строка через запятую, а не массив)

Можно ли как  то получить id значения характеристики, название значения характеристики, а если их несколько у товара, то получить их в виде массива?

Вот часть содержимого "{$product|print_r}"

Array ( [g8x3jtldma] => Array ( [product] => Catalog\Model\Orm\Product Object ( [fast_mark_offers_use:protected] => [fast_mark_multioffers_use:protected] => [fast_mark_virtual_multioffers_use:protected] => [keep_update_prod_cat:protected] => 1 [keep_spec_dirs:protected] => [cache_visible_property:protected] => [cache_amount_step:protected] => [cache_warehouse_stick:protected] => [user_cost:protected] => 98.10 [stock:protected] => [full_stock:protected] => [offer_xcost:protected] => Array ( ) [dir_alias_cache:protected] => Array ( ) [calculate_user_cost:protected] => Array ( [4] => 90.00 [5] => 140.00 [12] => 140.00 [13] => 90.00 [14] => 97.00 [15] => 108.00 [16] => 112.50 [17] => 122.00 [19] => 87.00 [20] => 92.70 [21] => 98.10 ) [files:protected] => [dimensions_object:protected] => [_values:protected] => Array ( [id] => 14576 [site_id] =>

Конкретно интерсует, как вывести число calculate_user_cost - id цены 4

Закусило Александр пишет:
{$product->getCost('Название нужной цены')}

Шаблон orderform.tpl

<tbody>
                {foreach from=$order_data.items key=n item=item}
                {assign var=product value=$products[$n].product}
                <tr data-n="{$n}" class="item">
                    <td>
                        <b>{$item.cartitem.title}</b>
                        <br>
                        {$multioffers_values = unserialize($item.cartitem.multioffers)}
                        {if !empty($multioffers_values)}
                            <div class="parameters">
                                {$offer = array()}
                                {foreach $multioffers_values as $mo_value}
                                    {$offer[] = "{$mo_value.title}: {$mo_value.value}"}
                                {/foreach}
                                {implode(', &nbsp; ', $offer)}
                            </div>
                        {elseif !empty($item.cartitem.model)}
                            {t}Модель{/t}: {$item.cartitem.model}
                        {/if}
                    </td>
                    <td>{$item.cartitem.barcode}</td>
                    <td>{$item.single_cost}</td>
                    <td>{$product->getCost('Оптовая цена')}</td>

                    <td>{$item.cartitem.amount}</td>
                </tr>
                {/foreach}
            </tbody>

Значение {$item.single_cost} и {$product->getCost('Оптовая цена')} - одинаковое выводит

Цена выводится "как в заказе", в обоих случаях

Здравствуйте.

Мне необходимо вывести две цены (цена по которой оформлен заказ) и отдельной колонкой другой вид цены.

Например в заказе фактическая цена продажи, а во-второй колонке базовая оптовая цена.
Это нужно для сборщиков заказа.

Как это сделать?

Здравствуйте.

Как можно сделать, чтобы при выборе комплектации показывалось фото нужной комплектации

https://55opt.org/catalog/upakovka-55792/

Нажмите "в корзину" у товар "Упаковочный материал рельеф рулон 4-5 метров 60см"

во всплывающем окне не меняется фотография

Александр, спасибо.

Это то, что нужно. Как вставить переменную в переменную с текстом не знал.

Пытался как в PHP, но не знал, что в Smarty вообще такой интересный синтаксис |cat:

...........................

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

Здравствуйте.

Идея: вывести модуль на страницах определённой родительской категории

Вот код.


{if $route_manager=$router->getCurrentRoute()}
    {$route_id=$route_manager->getId()}
{/if}

{if $route_id=="catalog-front-listproducts"}

    {$category_alias=$this_controller->request('category','string')} 

    {static_call var=category callback=['\Catalog\Model\Orm\Dir', 'loadByWhere'] params=[['alias'=>$category_alias]]} 
    
    {if $category.parent=="191"}
             
            $parentCat="toys"

    {/if}


    {moduleinsert name="Article\Controller\Block\Lastnews"  indexTemplate="blocks/lastnews/artInCat191.tpl" category="toys"}

    {/if}
    
{if 1>0}

    {/if}

    
{if 0>1}

    {/if}

{/if}

1) Как изменить код indexTemplate="blocks/lastnews/artInCat191.tpl" , чтобы 191 бралось из переменной "$category.parent" (это ID родительской категории)

2) Как изменить код category="toys" , чтобы toys бралось из переменной "$parentCat" (это ALIAS категории контента)

3) Модуль выводится всегда, вне зависимости от условия. Например блок if 1>0 и наоборот if 0<1 - в любом варианте выводится модуль

Придумал ещё одно решение:

Покупаем (не реклама) расширение Общие файлы для товаров
Делаем SEO-оптимизированный pdf файл.
Прикрепляем к нужным товарам или категориям товаров.

Попробую сам, позже отпишусь о результатах

Второй вариант реализации мысли.
Как "рекомендуемые товары" и "Сопутствующие товары".
Добавить пункт в настройках категории "Материалы по теме"

admin пишет:

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

Идея такая:
есть категории товаров "Игрушки", "Сувениры", "Цветы"
Во всех подкатегориях "Игрушки" - выводить блок - "Материалы по теме" - и соответственно в порядке убывания по дате, как новости ссылки на статьи

С возможностью например добавить в подкатегории отдельные статьи:

"Игрушки"
- "Куклы"
- "Машины"
в куклы статьи про куклы
в машинах статьи про детские машинки.

Примерно такое хочется.

Здравствуйте.
Как можно сделать вывод определённых статей в конкретных категориях товара?
Продолжение "пожелания" http://helpdesk.readyscript.ru/wish/Mat … i-588.html
Разместил в пожеланиях, так как думал, что нет такой возможности