Задать вопрос
Ответы пользователя по тегу MODX
  • Как отправить менеджеру поля о заказе телефон, адрес и.т.п MiniShop2?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    Резюмирую комментарии в ответ:
    1. Когда читаешь инструкции нужно либо выполнять все как там, либо быть более внимательным.
    2. Вы правите исходные файлы - что не есть хорошо и может затереться при первом же обновлении.
    3. Ну и сама ошибка: вы в чанк tpl.msEmail.new.manager добавили код из статьи, в данном коде идет расширение нового чанк {extends 'new.tpl.msEmail'}, который вы не создавали. Следовательно, вместо {extends 'new.tpl.msEmail'} пишите {extends 'tpl.msEmail'} и проблема решена!
    Ответ написан
    Комментировать
  • Как написать условие MiniShop2?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    Используйте параметры &tplWrapper и &wrapIfEmpty, подробнее об этом можно почитать здесь: Как ничего не выводить, если ресурсов (товаров) нет?
    Ответ написан
    Комментировать
  • Как исключить родительский товар в MiniShop2?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    В вашем случае поправить &parents=`[[*parent]]` и добавить &resources=`-[[*id]]`. Но я бы лучше использовал msProducts (вместо pdoPage - вам же не нужна пагинация в карточке))).
    Ответ написан
    Комментировать
  • Как реализовать функцию выбота размера товара в MiniShop2?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    Если не нужна смена цены, то примерно так:
    {'msOptions' |snippet:[
           'options' => 'size,
           'tpl' => '@FILE chunks/product/option/size.tpl'
    ]}

    С Fenom на стандартный шаблонизатор, при необходимости надеюсь самостоятельно сможете перевести.
    Где чанк size.tpl:
    {foreach $options as $name => $values}
        <div class="form-group product__option">
            <label class="product__option-label"> {('ms2_product_' ~ $name) | lexicon}</label>
            <div class="input-radio-label">
                <div class="input-radio-label__list">
                    {foreach $values as $value}
                        <label for="option_{$name}_{$value}">
                            <input type="radio" name="options[{$name}]" value="{$value}" id="option_{$name}_{$value}">
                            <span>{$value}</span>
                        </label>
                    {/foreach}
                </div>
            </div>
        </div>
    {/foreach}

    В моем случае на сайте это выглядит так:
    67c588281a7a1337416462.png
    Ответ написан
    Комментировать
  • Как показывать товар в двух категориях MiniShop2?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    Можно. У товара на вкладке "Товар" перейдите во вкладку "Категории", отметьте нужные и сохраните.
    6766ac7a9627d252700666.png
    Ответ написан
    Комментировать
  • Minishop2 где можно изменить текст?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    1. Вам подсказали выше, через управлением лексиконами, либо руками в вызове корзины (в чанке)
    2. По поводу стилизации: вызовите корзину со своим чанком
    [[!msCart?
      &tpl=`myCart`
    ]]

    в чанк myCart скопируйте все из чанка tpl.msCart и добавляйте свои классы и т.д.
    Ответ написан
    Комментировать
  • Как вывести поле content в miniShop2?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    Все есть в документации.
    В вызов добавьте includeContent:
    [[!msProducts?
       &limit=`0`
       &parents=`17,50`
       &depth=`10`
       &includeThumbs=`360x400`
       &includeContent=`1`
       &tpl=`tpl.msProducts`
       &where=`{"Data.popular":"1"}`
    ]]

    Убрал includeTVs - т.к. вы скорее всего не используете TV.
    Далее в чанке tpl.msProducts вызовите [[+content]]
    Ответ написан
    Комментировать
  • Не обновляется миникорзина minishop2. Почему?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    В консоле браузера Uncaught ReferenceError jQuery is not defined, часто такая ошибка, когда нарушен порядок загрузки скриптов. Все скрипты, нуждающиеся в jQuery, должны быть подключены после него.
    А у вас он нарушен, т.к. сначала идет идет минишоповский JS файл, а потом jquery:
    <script src="/assets/components/minishop2/js/web/default.js"></script>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

    Поменяйте их местами
    Ответ написан
  • MODx MIGX как исправить проверку ввода?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    "inputTVtype": "text"/ И вообще лучше конфигурации задавать в самом MIGX, а не в TV поле разметку делать.
    Ответ написан
    Комментировать
  • Как вывести поле color в MiniShop2?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    В TPL, вместо
    <div class="cart-t mb-3">Цвет:&nbsp;[[+color]]</div>
    , вызываете сниппет msOptions:
    [[!msOptions?
        &options=`color`
        &product=`[[+id]]`
        &tpl=`tpl.msOptions`
      ]]
    Ответ написан
    Комментировать
  • Как и нужно ли формировать style.min.css MinifyX в MODX?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    1. Подключен на сайте minifyX, который ссылается на "assets/css/style.min.css" - в вашем случае нет смысла использовать minifyX, просто подключите этот файл локально:
    <link rel="stylesheet" href="/assets/css/style.min.css">
    . Т.к. нет смысла подавать 1 файл - Компонент в первую очередь служит для объединения и сжатия вязанки стилей и скриптов, например:
    [[MinifyX?
    	&minifyCss=`1`
    	&minifyJs=`1`
    	&registerJs=`default`
    	&registerCss=`default`
    	&jsSources=`
    		assets/plugins/jquery/jquery-2.1.4.min.js,
    		assets/js/scripts.js,
    	`
    	&cssSources=`
    		assets/css/bootstrap.min.css,
    		assets/css/essentials.css,
    		assets/css/layout.css,
    		assets/css/header-1.css,
    	`
    ]]

    2. Также есть файл "assets/css/style.css". Как я думаю, в него пишутся стили и на основании стилей должен формироваться файл "style.min.css". - не правильно думаете в случае если данный стиль не подключен к шаблону)
    3. Но как это сделать? как вариант тем же minifyX:
    [[MinifyX?
        	&minifyCss=`1`
        	&minifyJs=`1`
        	&registerJs=`default`
        	&registerCss=`default`
    	    &cssSources=`/assets/css/style.css`
    	]]

    (но как говорил выше не вижу смысла в этом)
    4. А если внести изменения в "style.min.css" и очистить кеш, тогда все работает. - Ну логично, если хотите без очистки кэша, попробуйте вызвать компонент не кэшированным: [[!MinifyX? ...
    Ответ написан
  • Почему не отображает картинки phpThumbOf?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    Если вы обновились до modx 2.8.6, то здесь описано как решить проблему..
    Ответ написан
    Комментировать
  • Fatal error: Uncaught --> Smarty Как исправить?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    Попробуйте обновить движок до 2.8.5 и поставьте php 7.4
    Ответ написан
    Комментировать
  • Как добавить возможность редактирования атрибута alt изображения в админке MODX?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    1. Если в поле Content (содержимое), то установите редактор TinyMCE RTE
    2. Если в коде - то либо руками, либо сажать на компоненты MIGX, PageBlock
    3. Если в галереях (Gallery и т.п.), то там есть поля которые можно использовать под ALT - только главное чанки вывода фото правильно разметить
    Ответ написан
    Комментировать
  • MODX evolution как получить доступ к evo.im с российского IP?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    Установите VPN и будет вам доступ. Например iTop VPN - бесплатный и работающий в РФ
    Ответ написан
    Комментировать
  • Как сделать поле редактируемого описания в MIGx?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    Почитайте вот эту статью: https://web-revenue.ru/modx-revo/migx - посмотрите на типы ввода полей и создание конфигураций. Типы ввода указываются при создании конфигураций в поле input TV type
    Ответ написан
    Комментировать
  • Как вывести список tv типа список в других элементах?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    [[#20.some_tv]] - здесь:
    some_tv - название TV поля;
    20 - id ресурса где заполнено TV some_tv
    Следовательно выводим где надо, примерно так:
    [[pdoResources?
    &parent=`0`
    &resources=`[[#20.some_tv]]`
    &tpl=`mychank`
    &includeTVs=`some_tv`
    ]]
    Ответ написан
    Комментировать
  • Почему не работает форма?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    Подключите jquery
    <script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
    Ответ написан
    Комментировать
  • Как вызывать текст внутри заголовка в якоря с помощью модификатора ModX?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    Если в ручную якоря создавать, то делаете TV с типом ace (нужно установить пакет ace), в нем уже пишите само содержание (якоря), к примеру так:
    <ul>
        <li><a href="[[~8]]#chto-takoe-filtry">Что такое фильтры?</a></li>
        <li><a href="[[~8]]#vyhodnoj-filtr">Выходной фильтр</a></li>
        <li><a href="[[~8]]#modifikatory-vyvoda">Модификаторы вывода</a>
            <ul>
                <li><a href="[[~8]]#uslovnye-modifikatory-vyvoda">Условные модификаторы вывода</a></li>
                <li><a href="[[~8]]#modifikatory-vyvoda-stroki">Модификаторы вывода строки</a></li>
                <li><a href="[[~8]]#kehshirovanie">Кэширование</a></li>
                <li><a href="[[~8]]#ispolzovanie-modifikatora-vyvoda-so-svojstvami-tega">Использование модификатора вывода со свойствами тега</a></li>
                <li><a href="[[~8]]#sozdanie-polzovatelskogo-modifikatora-vyvoda">Создание пользовательского модификатора вывода</a></li>
            </ul>
        </li>
        <li><a href="[[~8]]#cepochka-neskolko-vyhodnyh-filtrov">Цепочка (несколько выходных фильтров)</a></li>
      <li><a href="[[~8]]#custom">Примеры пользовательских фильтров вывода</a>
          <ul>
              <li><a href="[[~8]]#sozdanie-polzovatelskogo-modifikatora-vyvoda">Создание пользовательского модификатора вывода</a></li>
              <li><a href="[[~8]]#primery">Примеры</a>
                <ul>
                  <li><a href="[[~8]]#alternateclass">alternateClass</a></li>
                  <li><a href="[[~8]]#parselinks">parseLinks</a></li>
                  <li><a href="[[~8]]#parsetags">parseTags</a></li>
                  <li><a href="[[~8]]#parsetags-1">parseTags</a></li>
                  <li><a href="[[~8]]#shorten">shorten</a></li>
                  <li><a href="[[~8]]#substring">substring</a></li>
                  <li><a href="[[~8]]#numberformat">numberformat</a></li>
                  <li><a href="[[~8]]#primer">Пример</a></li>
                </ul>
              </li>
          </ul>
      </li>
    </ul>

    Здесь [[~8]] восьмерку меняете на id документа текущего, соответственно к заголовкам вам нужно прописать id, например <h2 id="chto-takoe-filtry">Что такое фильтры?</h2>
    Администрировать гиморойно, зато в плане SEO можно туда любые ключи запихать)
    Либо можно написать сниппет который сам все будет делать, вот в качестве примера можете взять: Автоматическая генерация оглавления страницы.
    Ответ написан
    Комментировать
  • Почему не работает редирект с index.php?id=1 на главную страницу?

    webrevenue
    @webrevenue
    Веб-дизайнер и SEO оптимизатор
    В системных настройках установите как минимум следующие значения у ключей:
    friendly_urls - да
    friendly_urls_strict - да
    request_method_strict - да
    Если у вас транслит установлен, то
    friendly_alias_translit - russian
    Так же у вас должен в коне сайта быть переименован файл ht.access в .htaccess (при условии что хостинг с apach) и должна быть включена функция Mod_Rewrite.
    Если апача на хостинге нет, стоит чистый Nginx, то в конфигурацию добавьте строки:
    location / {
            try_files       $uri $uri/ @rewrite;
        }
        location @rewrite {
            rewrite         ^/(.*)$ /index.php?q=$1;
        }
    Ответ написан