Артур Шевченко

Артур Шевченко

С нами с 24 мая 2019; Место в рейтинге пользователей: #7
Отправить деньги
Артур Шевченко
07 марта 2022, 16:07
0
1. Логику из конструктора хорошо бы вынести в отдельный метод.
Переписал конструктор.
Артур Шевченко
07 марта 2022, 16:04
0
3. Я бы заменил XHR на fetch.
Может быть когда-нибудь потом)))
Артур Шевченко
07 марта 2022, 15:35
0
2. Старайся использовать const вместо let
А это зачем?
Артур Шевченко
07 марта 2022, 15:31
0
4. А разве не должно быть метода error для работы с ошибками?
Может быть и должен быть, но в оригинальном скрипте не было, вроде бы. Расскажи подробнее, что должен делать метод, я постараюсь его написать.
Артур Шевченко
07 марта 2022, 15:00
+1
Наконец-то дошли руки. Переписал. Если будет минутка — посмотри в репозитории код.
Артур Шевченко
05 марта 2022, 22:22
0
Очень легко: нужно под каждую комбинацию опций создать отдельное правило SEO. Под две опции, нужно 3 правила
1. {$option1}
2. {$option2}
3. {$option1}/{$option2}
Для трех опций нужно 7 правил
1. {$option1}
2. {$option2}
3. {$option3}
4. {$option1}/{$option2}
5. {$option1}/{$option2}/{$option3}
6. {$option1}/{$option3}
7. {$option2}/{$option3}
И так далее
Артур Шевченко
05 марта 2022, 09:48
+1
Непосредственно html-тэги нельзя отправить, но можно сделать так
<htm>
    <body>
        <form>
            <p>Some text</p>
            <input type="hidden" name="service">
        </form>  
        <script>
            let  form = document.querySelector('form');
            form.addEventListener('submit', function(e){
            e.preventDefault();
            let par = document.querySelector('p'),
                input = document.querySelector('input[name="service"]');
            input.value = par.innerText;
            });
        </script>
    </body>
</html>
Артур Шевченко
04 марта 2022, 14:11
+1
Можно под каждую таблицу создать отдельное ТВ или по три ТВ, но по-моему лучше обойтись одним MIGX.
Артур Шевченко
04 марта 2022, 14:10
0
ну так-то да, но есть один нюанс, если заказчик, а так бывает, захочет добавить ещё раздел на первом уровне или переименовать существующий, статически выведенное меню нужно будет менять вручную, поэтому я бы так не делал, просто из-за лени)))
Артур Шевченко
04 марта 2022, 14:07
0
А я не говорил про id страницы, у каждого пункта меню, т.к. это ресурс, есть id и при выводе меню вы проверяете равен ли id текущего пункта например 2, где 2 это id ресурса Товары, если равен, то вызываете pdoResources/pdoMenu/
Артур Шевченко
03 марта 2022, 23:09
0
Не понимаю причём тут авторизованные люди. Вы можете в объект modx добавить любого пользователя. А что касается MIGX, то указывать MIGX_id необязательно, он подставиться автоматически, возможно и из-за этого проблема. И лучше всё же сделать через ресурсы.
Артур Шевченко
03 марта 2022, 23:05
0
Я как любитель простых решений, предлагаю выводить меню только первого уровня, при этом в чанке &tpl проверять id, и если он равен id Товары, то выводить товары сниппетом pdoResources.
Артур Шевченко
03 марта 2022, 22:32
+1
Как это исправить?
Сделать idtab, gid, range параметрами сниппета. Тогда сниппет будет вызываться так
[[!Google-Shits?
&idtab=`value`
&gid=`value`
&range=`value`
]]
Ну а сами параметры, я бы запихнул в migx.
Вместо этого нужно оставить только параметры.
$idx = $modx->getObject('modTemplateVar', array('name' => 'idtab'))->getValue($modx->resource->get('id'));
$gid = $modx->getObject('modTemplateVar', array('name' => 'gid'))->getValue($modx->resource->get('id'));
$range = $modx->getObject('modTemplateVar', array('name' => 'range'))->getValue($modx->resource->get('id'));
Артур Шевченко
02 марта 2022, 22:13
0
Простой установкой две вкладки не сделаешь. К тому же сами по себе две вкладки задачу не решат, я бы просто в migx запихнул ту галерею, которая не для модификаций.
Артур Шевченко
02 марта 2022, 21:26
+1
Если мне не изменяет память, то Действительный URI перенаправления должен содержать параметр done=Facebook.
Артур Шевченко
02 марта 2022, 20:43
0
Вот тут
$ar = json_decode($reviews->get('value'), true);
ты получаешь уже имеющиеся отзывы из ресурса $reviews.
А вот тут
$tvcid->setValue($currentResourceId, json_encode($ar));
Ты устанавливаешь значение чего? $tvcid объект класса modTemplateVar, и он не хранит значение переменной шаблона. Мне кажется надо устанавливать значение переменной в объект $reviews.
Артур Шевченко
24 февраля 2022, 19:05
+1
По-моему это не костыль, т.к. стандартные стили никуда не денутся и свои ты всё равно напишешь. А как вариант, моё предложение точно рабочее)))
Артур Шевченко
24 февраля 2022, 19:03
0
Я дал рекомендацию на случай когда ответ нужен быстро, а в остальном, с доводами согласен)))
Артур Шевченко
24 февраля 2022, 17:19
0
Ну ты же знаешь как открыть консоль в браузере? Найди на вкладке Элементы в разметке нужную кнопку, посмотри какие у неё классы и стилизуй.