• N
    nweb

    Хочу прикрутить к Tickets фильтрацию по TV. Подойдет ли tagManager2 для этого?

    написал в Поддержка Читать далее
  • N
    nweb

    Отправляю FormIt`ом форму, которая собирается из дочерних ресурсов:

    [[!pdoResources? 
    &parents=``
    &includeTVs=`answer`
    &includeContent=`1`
    &tpl=`tpl.tests`
    &processTVs=`1`
    ]]
    

    Получается так:

    <fieldset>
    <label id="Сколько будет 1+1?">Сколько будет 1+1?</label>
    <input type="checkbox" value="2" name="skolko-budet-11[]"> 2 
    <input type="checkbox" value="3" name="skolko-budet-11[]"> 3 
    <input type="checkbox" value="4" name="skolko-budet-11[]"> 4 
    </fieldset>
    

    Редиректный ресурс:

    [[!FormItRetriever]]
    [[+fi.user]], вы прошли тест "[[+fi.test_name]]".
    
    <h2>Результаты:</h2>
    
    [[+fi.skolko-budet-11]]
    [[+fi.skolko-budet-22]]
    

    Т.е. чтобы вывести результаты, нужно руками писать плейсхолдеры. Но это не подходит, т.к. плейсхолдеры заранее неизвестны. Вопрос: как их «вставить» сниппетом?

    написал в MODX - Вопросы и обсуждения Читать далее
  • N
    nweb

    Спасибо! Оказалось все настолько просто.

    написал в Поддержка Читать далее
  • N
    nweb

    На сайте я задаю нужные фильтры, затем перехожу на страницу 2 и результаты фильтрации "сбрасываются" - выводится нефильтрованный контент.
    Подскажите, пожалуйста, есть ли возможность исправить это? Не использовать ajax-фильтрацию?

    <div class="sorted">
    
    [[tmFilters?
        &jsScript=`0`
        &filterNumericOuterTpl=`tm2_filterOuterTpl`
        &filterNumericTpl=`tm2_filterNumericTpl`
        &jsMap=`1`
        &toPlaceholder=`filters`
        &filterOuterTpl=`tm2_filterOuterTpl_mix`
        &filterTpl=`tm2_filterTpl_mix`
    ]]
    
    <div id="filters">
        <form action="[[~[[*id]]]]" method="get">
    
    	<input type="hidden" name="page_id" value="[[*id]]" disabled="disabled" />
    	<div class="sorting">
        <select class="f_sortby" name="sortby" onchange="tmFilters.changeOrder(this);">
            <option value="pagetitle">по названию</option>
            
        </select>
        &nbsp;
        <select class="f_sortdir" name="sortdir" onchange="tmFilters.changeOrder(this);">
            <option value="asc">по возрастанию</option>
            <option value="desc">по убыванию</option>
        </select>
        &nbsp;
        <select class="f_limit" name="limit" onchange="tmFilters.changeOrder(this);">
      
            <option value="12" selected="selected">12</option>
            <option value="24">24</option>
            <option value="36">36</option>
            <option value="48">48</option>
            <option value="[[*id? &all=`[[+total]]`]]">все</option>
        </select>
    
    [[+filters]]
    
    
        <div class="clearfix"></div>
    </div>
    
        </form>
    </div>
    </div>
    
    <hr />
    
    <div class="catalog-content">
    <div id="products">
        [[!tmCatalog]]
        <div class="clearfix"></div>
    </div>
    </div>
                   
    <div class="pagenav">Страница [[+page]] из [[+pageCount]]
    <br><br>
    [[!+page.nav]]
    </div>
    

    написал в Поддержка Читать далее
  • N
    nweb

    Не работает именно в Хроме. В Firefox все ОК. Кэш почистил в браузере, на сайте тоже очистил...

    написал в Поддержка Читать далее
  • N
    nweb

    Данные из консоли:

    Refused to execute script from 'http://mysite.com/assets/components/tag_manager2/tm_config.js.php' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
    tag_mgr_app.js:74 Uncaught ReferenceError: tm_config is not defined
    angular.min.js:107 Error: [$injector:unpr] http://errors.angularjs.org/1.4.6/$injector/unpr?p0=translateFilterProvider%20%3C-%20translateFilter
        at Error (native)
        at http://mysite.com/assets/components/tag_manager2/js/mgr/angular.min.js:6:416
        at http://mysite.com/assets/components/tag_manager2/js/mgr/angular.min.js:40:409
        at Object.d [as get] (http://mysite.com/assets/components/tag_manager2/js/mgr/angular.min.js:38:394)
        at http://mysite.com/assets/components/tag_manager2/js/mgr/angular.min.js:40:483
        at Object.d [as get] (http://mysite.com/assets/components/tag_manager2/js/mgr/angular.min.js:38:394)
        at http://mysite.com/assets/components/tag_manager2/js/mgr/angular.min.js:148:303
        at U (http://mysite.com/assets/components/tag_manager2/js/mgr/angular.min.js:110:433)
        at http://mysite.com/assets/components/tag_manager2/js/mgr/angular.min.js:109:25
        at m (http://mysite.com/assets/components/tag_manager2/js/mgr/angular.min.js:7:322)
    

    написал в Поддержка Читать далее
  • N
    nweb

    0_1468853482528_2016-07-18_20-49-52.png
    Перестал загружаться tagManager2 в бэкенде. Хотя сами фильтры работают. Подскажите, в чем может быть причина?

    написал в Поддержка Читать далее
  • N
    nweb

    Возможно ли в tagManager2 вставить изображение рядом с чекбоксами? Для каждого чекбокса свое изображение.0_1468260346966_img.jpg

    написал в Поддержка Читать далее
  • N
    nweb

    Подскажите, как можно делать такую фильтрацию:

    Фильтр 1
    выпадающий список
    
    Фильтр 2
    чекбоксы
    

    Оба фильтра, естественно, имеют разные TV.

    написал в Поддержка Читать далее
  • N
    nweb

    Чанк шаблона вывода:

    <div class="item">
                            <div class="item-wrapper">
                                <div class="photo"><img src="[[++base_url]][[*img_item]]" alt="" data-pic="[[++base_url]][[*img_item]]" class="product"></div>
                                <div class="text"><a href="/[[~[[+id]]]]">[[+pagetitle]]</a></div>
                                <div class="available">
    
    [[!percent-star?
    &one = `[[+tv.aviable]]`
    &two = `[[+tv.aviable-max]]`
    ]]
    
    							</div>
                                <div class="price">[[+tv.cost]] тг</div>
                            </div>
                        </div>
    

    При фильтрации отображается все, кроме результата работы сниппета percent-star. До фильтрации сниппет отображается.
    Подскажите, как отображать результат работы сниппета при фильтрации?

    написал в Поддержка Читать далее
  • N
    nweb

    @timm У меня нет shopkeeper'а. Ваш вопрос, наверное, связан с shopkeeper+catalogFill?

    написал в Поддержка Читать далее
  • N
    nweb

    @timm

    $cf_config['imp_before_change'] = '[{"tv.aviable":"0"}]';
    

    aviable - TV-параметр, содержащий кол-во товара.

    написал в Поддержка Читать далее
  • N
    nweb

    @Andchir Как указать это в конфиге?

    написал в Поддержка Читать далее
  • N
    nweb

    Есть 2 каталога. Категории и названия товаров в них одинаковые. Различия только в значениях TV-параметров.

    - Город 1
    -- категория 1
    --- товар
    
    - Город 2
    -- категория 1
    --- товар
    

    Делаю импорт в каталог "Город 1" с таким конфигом:

    <?php
    
    //разбивка по столбцам при импорте и экспорте (content|tv|category)
    $cf_config['content_row'] = array(
        array('ID',array(3,'tv')),
    	array('Наименование',array('pagetitle','content')),
    	array('',array('','tv')),
        array('Цена',array(2,'tv')),
        array('Кол-во на складе',array(1,'tv')),
    	 array('Категория',array('','category')),
    	 array('Для кого',array(6,'tv')),
    	 array('Бренд',array(5,'tv')),
    	 array('Материал',array(7,'tv')),
    	 array('Объем',array(9,'tv')),
    	 array('Номер',array(8,'tv')),
    );
    
    //значения по умолчанию при импорте или проверка при экспорте
    $cf_config['imp_content_default'] = array(
        'content' => array(
            'deleted' => 0,
            'published' => 1,
            'template' => 4
            //'createdon' => strtotime("now")
            //'publishedon' => strtotime("now")
            //'pub_date' => strtotime("now")
            //'editedby' => 1
            //'editedon' => strtotime("now")
        ),
        'tv' => array(
            //7 => 0
        )
    );
    
    //первая строка - названия полей
    $cf_config['include_captions'] = true;
    
    //число товаров импортируемых за один раз (загрузка по группам). 0 - не ограничивать.
    $cf_config['batch_import'] = 0;
    
    //разбивать по категориям
    $cf_config['include_categories'] = true;
    
    //удалять дочерние категории при очистке и обновлении каталога
    $cf_config['delete_subcategories'] = true;
    
    //по какому полю проверять соответствие товара при обновлении. false - не проверять (очистка категории при обновлении).
    $cf_config['imp_chk_field'] = 1;
    
    //проверять соответствие товара при обновлении по значению TV. Указать ID TV. false - не проверять (очистка категории при обновлении).
    $cf_config['imp_chk_tvid_val'] = false;
    
    //Добавлять товары, которые не найдены при обновлении по TV (imp_chk_tvid_val) или полю (imp_chk_field)
    $cf_config['imp_if_not_exist'] = true;
    
    //удалять HTML-теги при экспорте
    $cf_config['exp_strip_tags'] = false;
    
    //автоматически генерировать псевдоним (alias) при импорте
    //false - выключено; true - генерировать с переводом в транслит; 'notranslit' - генерировать без перевода в транслит.
    $cf_config['imp_autoalias'] = false;
    
    //Изменить значения поля для всех вложенных товаров до начала импорта.
    //Например можно отменить публикацию для всех товаров и публиковать только те, которые есть в новом прайс-листе.
    //первый массив - какие поля и на какие значения менять, второй массив - условия которые нужно проверять (можно сделать пустым)
    //$cf_config['imp_before_change'] = false;//'[{"tv.inventory":0},{}]';//'[{"published":0},{"tv.pricename":"Поставщик1"}]';//false - для отмены
    $cf_config['imp_before_change'] = '[{"tv.aviable":"0"}]';
    
    //удалить файл после экспорта (скачивания)
    $cf_config['exp_delete_file'] = false;
    
    //кодировка CSV-файла при экспорте
    $cf_config['exp_csv_charset'] = 'UTF-8'; //'windows-1251'
    
    //Импортировать (обновлять) пустые значения
    $cf_config['imp_empty'] = true;
    
    //Имя файла процессора, который использовать для импорта. Если пусто, используется стандартный процессор "import".
    $cf_config['imp_custom_processor'] = '';
    
    //путь (xpath) в XML структуре до товаров
    $cf_config['imp_xml_itemsparent_path'] = '';//'/catalog/shop/offers';
    
    //Структура XML файла для импорта
    $cf_config['imp_xml_structure'] = <<<EOF
    <Good>
        <Kod>tv8</Kod>
        <Name>pagetitle</Name>
        <Options>
            <Stock>tv5</Stock>
            <Image>tv2</Image>
        </Options>
        <Prices>
            <RegularPrice>tv1</RegularPrice>
            <OldPrice>tv20</OldPrice>
        </Prices>
    </Good>
    EOF;
    
    //тестирование конфигурации (без записи в БД). Отчёты -> Журнал ошибок.
    $cf_config['imp_testmode'] = false;
    
    //функция для фильтрации значений при ИМПОРТЕ
    function filter_import($value_arr){
        $output_arr = $value_arr;
        /*
        if(isset($output_arr['content']['pagetitle']))
            $output_arr['content']['pagetitle'] = mb_strtoupper($output_arr['content']['pagetitle'], 'UTF-8');
        */
        return $output_arr;
    }
    
    
    //функция для фильтрации значений при ЭКСПОРТЕ
    function filter_export($value_arr,$doc_id=0){
        $output_arr = $value_arr;
        //var_dump($value_arr,$output_arr);
        //exit;
        /*
        if(isset($output_arr['price']))
            $output_arr[1] = floatval($output_arr[1]) - 200;
        */
        return $output_arr;
    }
    
    ?>
    

    Получается так:

    - Город 1
    -- категория 1
    --- товар
    
    - Город 2
    -- категория 1
    

    То есть, в "Город 2" товары перемещаются в "Город 1", т.к. совпадает название категории.

    Подскажите, как настроить корректное обновление каталогов для каждого города?

    написал в Поддержка Читать далее
  • N
    nweb

    Допустим, есть такой каталог:

    название | количество на складе
    товар 1 | 3
    товар 2 | 3
    

    Если в импортируемом файле нет товара 2, то как вывести так?

    товар 1 | 3
    товар 2 | нет в наличии
    

    То есть, публикацию не отменяем и не удаляем.

    Пробовал менять здесь настройки, но не получилось:

    //Например можно отменить публикацию для всех товаров и публиковать только те, которые есть в новом прайс-листе.
    //первый массив - какие поля и на какие значения менять, второй массив - условия которые нужно проверять (можно сделать пустым)
    //$cf_config['imp_before_change'] = false;//'[{"tv.inventory":0},{}]';//'[{"published":0},{"tv.pricename":"Поставщик1"}]';//false - для отмены
    

    Подскажите, как сделать?

    написал в Поддержка Читать далее
  • N
    nweb

    Есть плагин qTip2, выводит всплывающие подсказки при наведении на элемент. В моем случае - увеличенное изображение товара.

    <img src="http://url/assets/templates/default/images/noimage.jpg" alt="" data-pic="http://url/assets/templates/default/images/noimage.jpg" class="product"
    

    До применения сортировки все работает. А как только начинаю сортировать, то "увеличение" перестает работать. Точнее, не работает только с элементами, которые tagManager сортирует. С другими на странице - работает.
    Понимаю, что за работу third party software вы не несете ответственности. Но было бы интересно - почему не работает? Куда копать?

    написал в Поддержка Читать далее
  • N
    nweb

    Спасибо!
    Невнимательность - моя вина. Нужно было просто подключить чанки с селектами.

    &filterOuterTpl=`tm2_filterOuterTpl_select`
    &filterTpl=`tm2_filterTpl_select`
    

    написал в Поддержка Читать далее
  • N
    nweb

    @Andchir Чекбоксы выводятся. А какие именно чанки нужно редактировать? И что там писать?

    написал в Поддержка Читать далее