Всего 97 553 комментария

Алексей Шумаев
15 ноября 2019, 08:41
+1
«Тестовый» сайт сегодня занял первое место по ключевому запросу. До этого — что не делали — болтался на 2-5 странице (по объективным причинам). Но, повторюсь, для меня сео — тема мутная и что там в итоге повлияло на отдачу чёрного ящика — я не знаю ) Скорее всего все наши действия в куче.
Александр
15 ноября 2019, 01:12
+1
У меня в правах на группу аноним стоит Доступ к контексту Load Only. yadi.sk/i/Bz-3Zkxc2wXEFw
Политика доступа: Load Only: только load. yadi.sk/i/sVtvWtzFoACVIw
Больше на группу аноним в правах ничего не настроено. Хотя по идее для работы сайта нужно Load, List and View, почему-то аноним, обычно, прекрасно, работает с Load Only.
Проверь чтоб у группу аноним стояло Load Only. Если настройки от дефолтных не отличаются, пробуй очистить кеш, удалить все из папки core/cache. Затем попробуй развернуть копию сайта на другом хостинге. Возможно он виноват.
Александр
15 ноября 2019, 00:39
+1
Реализовать то можно. Только мне с твоей математикой не охота возиться. Сделаю просто каждый 7-й другой код
[[!pdoPage?
&tpl=`tpl7`
]]
tpl7
{if ($idx % 7) == 0}
   <div class="block7">....</div>
{else}
  <div class="block">....</div>
{/if}
Александр
15 ноября 2019, 00:12
+1
А что такое второй параметр
Это тупо название коллбека. Чтоб, если он не нужен, его можно было удалить.
Uncaught ReferenceError: miniShop2 is not defined at
Это ваш скрипт выполняется раньше, чем загрузился скрипт минишопа.
<script type="text/javascript" src="/assets/components/minishop2/js/web/default.js?v=d62e73368c"></script>
</body>
Он в конце страницы перед обычно встает.
Можно сделать так
$(function() { 
   miniShop2.Callbacks.add('Cart.add.before', 'restrict_cart', function() {
      miniShop2.Message.error('Добавление товаров в корзину запрещено!');
      return false;
   });
});
Александр
14 ноября 2019, 23:57
0
А может что-то и глючит. Ваше сообщение из последних комментов пропало.
Александр
14 ноября 2019, 23:55
0
Чет я тоже прифигел. Для ошибки тикетов как-то слишком избирательно О_О.
Александр
14 ноября 2019, 23:36
0
В файле core/components/pdotools/model/pdotools/_fenom.php
Можно дописать модификатор
$this->_modifiers['ignore'] = function ($string) {
            return "{ignore}".$string."{/ignore}";
};
И затем выводить контент так
{$_modx->resource.content | ignore}
В следующий PR включу :-).
Александр
14 ноября 2019, 23:12
0
Мне кажется, сейчас сайт сломаешь, если только специально ломать.
Вставляю
{
{$_modx->user.fullname}
<script>
    x = {"active":1};
    console.info(x);
</script>
на сайте { Администратор по умолчанию
{if 
{$_modx->user.fullname}
{if {$_modx->user.fullname}
{if}
{$_modx->user.fullname}
{if} Администратор по умолчанию
{if true}
{$_modx->user.fullname}
Сломался. Так как не закрытый блок. Только, что-то сомнительно, чтоб менеджеры {if или {if true} нечаянно написали.
{a
{$_modx->user.fullname}
на сайте: {a {$_modx->user.fullname}
А вот это могут :-(.
Ну меня, пока, устраивает, что не ломается по каждому чиху. Посмотрим что дальше будет.
Александр
14 ноября 2019, 22:50
0
Сделал PR на fenom и на pdoTools.
This option, when compiling a Fenom tag error, enables the output of this tag as is and output error in pdoTools for MODX log. To inverse JS / JSON code on MODX template.
Изменения вносятся одновременно в 2 компонента. Сюда в pdoTools и в исходники Fenom. Чтоб опция работала, нужно, либо загрузить fenom с форка github.com/touol/fenom, либо дождаться примут PR и обновить исходники.
Опция pdotools_fenom_soft_mode включается системных настройках pdoTools. При ее включении, fenom феном, не распознанные теги, добавляет в текст шаблона(чанка) как есть и продолжает компилировать шаблон. При включении pdotools_fenom_save_on_errors, ошибки сохраняются в лог MODX.
Изменено поведение только самой критичной части компилятора fenom здесь. То есть, ошибки на валидном JS / JSON коде. В остальных случаях, феном так же выбрасывает исключения (На не закрытых {if ..},{block},{ignore} и т.д.).
Транспортный пакет с правками pdoTools и fenom file.modx.pro/files/7/5/8/758e797e15b740fd58e7993054996bc3.zip (переименовать в pdotools-2.13.0-pl.transport.zip)
Есть желающие протестировать? Вдруг что-то еще поправить надо.
Илья
14 ноября 2019, 22:00
0
<div class="card">
    <div class="card-header_" id="headingOne">
      <h5 class="mb-0">
        <img src="img/t1.png"><button class="btn btn-link" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
         ТЕСТ
        </button>
      </h5>
    </div>

    <div id="collapseOne" class="collapse hjde" aria-labelledby="headingOne" data-parent="#accordion">
      <div  class="card-body">
       1
       2
      </div>
    </div>
  </div>
Как оформить в pdomenu?) спасибо
Андрей Шевяков
14 ноября 2019, 19:45
+1
Спасибо @Баха Волков за помощь.

Может кому пригодится:

{foreach $rows as $row}
            {set $tmp = $row.keys | split : ', '}
            {if $term in list $tmp}
                {set $result = $row.title}
                {break}
            {/if}
{/foreach}
{$result ?: 'Ни одного с...ка соответствия'}
Лазарев Роман
14 ноября 2019, 18:58
0
Привет, Баха ты у нас эксперт по MIGX.

Делаю нечто подобное, но более глобальное. Собираю конструктор для создания разношерстной страницы (что бы контенщик в коде не копался). Что бы можно было собрать страницу как Лендинг.

Собираю вот такую конструкцию: joxi.ru/8236VxPi9eQZZm
В сам top_circle в Formtabs > Fields добавлено одно поле, которое подтягиваю item через Config joxi.ru/12MEvYqilDWq72
В самом top_circle_item куча полей: joxi.ru/52abVz7iEKY9VA
В итоге получается вот так: joxi.ru/zANJvYgTvYalwA где я их могу добавлять сколько угодно: joxi.ru/Dr8ZVy5coe3k52

Вопрос в чем, как мне сюда joxi.ru/krDJwlXTKN90P2 добавить поле/поля которые бы относились к этой конструкции?

Получится к примеру:

— Поле заголовок
— item
— item
— item

Надеюсь смог объяснить свою мысль, что я хочу. Помоги пожалуйста, как реализовать?
Николай
14 ноября 2019, 18:47
+1
Простой плагин на событие OnLoadWebDocument

<?php

$pagetitle = $modx->resource->pagetitle;

$pagetitle = str_replace('{', '&# 123;', $pagetitle);
$pagetitle = str_replace('}', '&# 125;', $pagetitle);

$modx->resource->set('pagetitle', $pagetitle);

Срабатывает до парсинга тегов. Получаем любое поле ресурса, и заменяем скобки на спецсимволы. Пробел после &# добавил, иначе они преобразуются в скобку здесь на сайте. Так можно прогнать все поля, которые заполняет контент-менеджер. Причём плагин заменяет скобки только в момент открытия страницы. Исходники по факту остаются не тронутыми.
Павел Бигель
14 ноября 2019, 16:34
0
Фигурная скобка используется почти любым шаблонизатором. Де-факто это стандарт.

По поводу поста — я в целом согласен.
Oleg
14 ноября 2019, 15:55
0
Упс… А действительно так. Я-то это пробовал, но наверное, кэш не почистил. Сейчас включил сайт, кэш почистил — всё выводится. Спасибо! А то я с самого утра как упёрся… так и сижу. ))
Scorp Satex
14 ноября 2019, 15:50
+2
Сайт опубликован?

У меня была такая же проблема когда системная настройка «site_status» была выключена.