501

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

Чуть ошибся.
http://joxi.ru/KAxz1Jxs4OwQ7m
Создаете пункт меню с типом "Страница" или "статья" и в конструкторе создаете страницу, связанную с данным пунктом: http://joxi.ru/p275J4Ks0qZ6Mr

Спасибо, так даже проще получилось!

Здравствуйте, коллеги!
Что то не выходит у меня каменный цветок)
При сохранении товара необходимо предыдущую цену с id=4 перемещать в цену с id=1.
Подцепился на сохранение xcost:

 ->bind('orm.beforewrite.catalog-xcost')//перехватываем сохранение цены

Но даже, если я просто меняю текущую цену, все равно она остается прежней. Как будто не срабатывает обработчик.

 public static function ormBeforewriteCatalogXcost($params, $event)
    {     
          $xcost = $params['orm'];  
          $xcost['cost_val']=80; 
}


Такое ощущение, что не тот хук использую.

Добавил поле CSS для категорий:
https://yadi.sk/d/iPyJJl4fsuYeU
Обратите внимание, название модуля поменял с evaddons на evcss, так как ранее название пересекалось с другим моим модулем. Поэтому старый модуль надо удалить.

Смените название атрибута с data-tooltip на что-то другое. Видимо в РС аналогичное используется.

506

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

Подскажите, пожалуйста, для чего может пригодится ручная сортировка товаров?
Посмотрел приведенные системы и понял, что во фронте выбираемая пользователем сортировка в стандартных шаблонах (кроме могуты) практически не используется, либо крайне ограничена (только наименование и цена в симпле и диафане).
Может поэтому и есть необходимость в ручной сортировке (или задаваемой жестко: по дате, названию как в shop-script.)

Тут проще на JS написать, мне так кажется.

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

509

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

Создайте страницу в конструкторе, дайте ей уникальный альяс -NEWS и выводите на ней новости/статьи и т.д.
модулем вывода новостей.
А любую последовательность или вид вывода можно сделать, поправив шаблон вывода.
Т.е. можно Новости выводить в site.ru/news, отзывы в site.ru/feedbacks.

На самом деле,  RS очень гибкая система и всегда можно найти выход. Если необходим полноценный блог, то лучше делать отдельным поддоменом, что сделано у многих крупных фирм.

А я бы хотел узнать, можно ли к другой БД из RS подключаться)

Сергей, в редакторе пункта меню появляется дополнительное поле "Класс CSS".
http://joxi.ru/xAe14BbFYyBkvA
Александр, там необъятное поле работы. Боюсь, времени хватит только на правки для клиентов.
Сначала просто сайт-каталог на нем запустим, потом уже полноценный магазин на мегамаркете. И можно выкладывать.

512

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

Sergey T., возможно еще добавлять на последней ветке категории ветвь с брендами. Даже автоматом это сделать возможно при загрузке. Фильтр оставить по брендам. Тогда будет именно как у спортсезона.  В результате в поиске будут красивые ссылки.

513

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

У клиента аудит сео-контора производила, так они наоборот заставили убрать фильтры.  Достаточно страниц брендов с описанием.

Выкладываю пример наипростейшего модуля,  который добавляет поле CSS класс для пунктов меню: https://yadi.sk/d/9lRQ7IQ-sZgQv
Подсмотрел у Joomla, там к каждому пункту меню можно добавлять классы.
Потом просто его можно вывести шаблоне меню как {$item.cssclass}:

{foreach from=$menu_level item=item}
<li class="{if !empty($item.child)}dropdown{/if}{if $item.fields.typelink=='separator'} separator{/if}
{if $item.fields->isAct()} active{/if} {$item.cssclass}" {if $item.fields.typelink != 'separator'}{$item.fields->getDebugAttributes()}{/if}>
    {if $item.fields.typelink!='separator'}
        <a href="{$item.fields->getHref()}" {if !empty($item.child)}dropdown-toggle{/if} {$item.cssclass}" {if $item.fields.target_blank}target="_blank"{/if}>{$item.fields.title}</a>
    {else}
     <li class="divider"></li>
    {/if}
    {if !empty($item.child)}
    <ul class="dropdown-menu {$item.cssclass}_dropdown">
        {include file="blocks/menu/top_branch.tpl" menu_level=$item.child}
    </ul>
    {/if}
</li>
{/foreach}

Пример для меню темы на базе bootstrap 3. Получилось подружить с конструктором достаточно интересную тему http://theme.stepofweb.com/Smarty/v1.1. … start.html

515

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

К сожалению, скрипт отдельно идет на микрофреймворке, так как используется для нескольких разных движков.  Да и во время создания опыта разработки под RS не было.

У клиентов тоже возможности перейти на 8 нет из-за множества переделок. Как говорится "работает - не трогай")

516

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

или WinMerge для массового сравнения

517

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

Интеграция идет с любой системой, поддерживающей commerce ML2 (мой склад, 1С 8 и другие). В 1с 7.7 выгрузки из коробки в данном формате нет. Но возможно найти дополнения.
Можно написать со стороны 1с выгрузку csv файлика с данными, а со стороны RS загрузку. И загрузку заказов из RS.
Был опыт реализации подобного для 2 магазинов.

518

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

Совершенно верно. НА самом деле, программисты 1с могут и сделать загрузку товаров из заказов.

519

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

Добрый день! Да, заказы выгружаются в 1с без проблем.
Подробнее здесь http://readyscript.ru/manual/catalog_exchange_1c.html

Что у вас в настройках модуля?
http://take.ms/YbuRb
Возможно не проставлено "несколько комментариев с 1 ip адреса"

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

Уже написал в поддержке. С Виталием уже спор идет)

http://helpdesk.readyscript.ru/ticket/Harakteristiki-i-1s-n632089.html

Там же в теме выслал примеры. Если надо, продублирую

Впервые настраивали импорт для УТ 11.2. Как обычно, в новых версиях и терминология другая и интерфейс.

Как показала практика, для версии УТ 11.2 узел "Свойства" для товарных предложений может находится не только в файле "import.xml", но и "offers.xml", в результате чего свойства не загружаются и характеристики не создаются.

Решается путем   добавления '\Exchange\Model\Importers\CatalogProperty' в массив в api.inc.php (146 строка):

}elseif(preg_match('/offers/iu',$filename)){ //offers.xml
//Очистим сессию с id складов для получения
$_SESSION[\Exchange\Model\Importers\Warehouse::SESS_KEY_WAREHOUSE_IDS] = array();
return $this->matcher->applyImporters($full_filename,
array(
'\Exchange\Model\Importers\CatalogProperty',//ЗДЕСЬ ДОБАВЛЕНО!
'\Exchange\Model\Importers\PriceType',
'\Exchange\Model\Importers\Warehouse',
'\Exchange\Model\Importers\Offer',

),
$offset, $max_exec_time);

В описании файла offers.xml узел "Свойства" есть - http://dev.1c-bitrix.ru/api_help/sale/xml/offers.php

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

Так модуль "Меню" надо было переустанавливать, а я свой пытался. Теперь ясно.

Создал handlers.inc.php в папке своего модуля evaddons со следующим содержанием:

<?php
namespace evAddons\Config;
use \RS\Orm\Type;
/**
* Класс содержит обработчики событий, на которые подписан модуль

ДЛя 8 марта и темы evTheme
2016_05_06 Добавление поля css к меню
*/
class Handlers extends \RS\Event\HandlerAbstract
{
    /**
    * Добавляет подписку на события
    * 
    * @return void
    */
    function init()
    {
        $this->bind('orm.init.menu-menu'); //добавим css
    }
       

   
      public static function ormInitMenuMenu(\Menu\Model\Orm\Menu $orm_menu) 
        {
        $orm_menu->getPropertyIterator()->append(array(//Добавляем свойства к объекту
            t('Основные'), //Закладка
                      'css' => new Type\Varchar(array(
                      'maxLength' => '50',
                        'description' => 'Класс CSS',
                         'hint' => t('Дополнительный CSS класс для пункта меню')
                        
                    ))
       
                 ));
        }     
}

Досмотрел до 44 минуты) И там как раз то что надо. Создал файл install.inc.php и все заработало, спасибо! В текстовой документации не нашел данные рекомендации.

<?php
namespace evAddons\Config;

/**
* Класс отвечает за установку и обновление модуля
*/
class Install extends \RS\Module\AbstractInstall
{
function install()
    {
        
        $result = parent::install();
        if ($result) {
            $menu = new \Menu\Model\Orm\Menu();
            $menu->dbUpdate();
        }
        
        return $result;
    }
    
    /**
    * Функция обновления модуля, вызывается только при обновлении
    */
    function update()
    {
        $result = parent::update();
        if ($result) {
            $menu = new \Menu\Model\Orm\Menu();
            $menu->dbUpdate();
        }
        return $result;
    }     
}