Всего 125 370 комментариев

Дима Касаткин
25 ноября 2024, 00:09
0
Полностью согласен с недостатками реактивных фреймворков, описанных в заметке, думаю 100мс на инициализацию бекенда это очень много — что-то не так с хостингом, или что-то очень тяжелое прикручено в плагинах на события onmodxinit или где-то ещё по пути до рендеринга. Про то, что фронтенд-часть весит какие-то огромные мегабайты, я писал также в комментах под mmxForms — но в принципе, для какого-то функционала админа, или зарегистрированного пользователя.

У меня на проектах по 20-30мс на полный ответ сервера, без какого-то рокет-турбо-тюнинга (а с ним — быстрее, но сейчас не об этом).

Мне пока удаётся в большинстве проектов убегать от этих адских фроентенд-фреймворков. Надеюсь удастся полностью пережить их рассвет, встретить закат, и классно-здорово работать на набирающем популярность (снова) серверном рендеринге технологии HTMX, которая отлично ложится в концепцию того, как работает MODX, с чанками, крутыми шаблонизаторами и т.п.

P.S. Тоже интересно, для чего реально используешь @Александр Туниеков gtsAPI. Задумка интересная. Не переписываешь ли потихоньку всю админку на формы VUE? ))

Спасибо что делишься!
Артур Шевченко
24 ноября 2024, 21:06
0
Какие задачи ты решаешь с помощью Vue?

Например я так и не смог заставить себя освоить Vue, потому что не вижу куда могу применить эти знания.
Мне в работу попадают обычные интернет-магазины, сайты визитки, лэндинги для чего там может понадобится Vue не представляю.

Самый сложный с точки зрения интерфейса сайт это сайт-каталог образовательных программ, там довольно заковыристая форма оформления заказа. Но, учитывая то, как работает Modx (сниппеты, чанки, шаблоны), я для себя решил, что проще отправлять запросы на сервер и вставлять на страницу полученный от него html. На долю JS остаётся только отправка запроса, вставка html и открыть\закрыть модалку.

во вторых нода однопоточная
А PHP многопоточный? Думаю скорость ответа NodeJs не от этого высокая.

А ещё хотелось бы понять для кого и для чего компонент gtsAPI? Какие практические задачи ты с его помощью решаешь?
Максим
24 ноября 2024, 20:31
0
Правильный вариант из текущей документации такой:
{set $condition = 1}
{switch $condition}
{case 0, 1, 2}
    сработает
{case 5}
    не сработает
{/switch}
Алексей Соин
24 ноября 2024, 17:38
-2
сначала ещё хотел описать в чем автор не прав, но в целом получилось, что весь пост это набор какого-то бреда…
Stepan
24 ноября 2024, 13:55
0
ну тогда groupby и having
+ подгрузка не родных пакетов
есть?

еще я правильно понимаю что фильтрация и сортировка по умолчанию по всем полям?

$object->set('password',md5(date('d.m.Y H:i:s')));
как потом этим пользоваться?
Артур Шевченко
24 ноября 2024, 13:39
0
Моя кофейная гуща говорит о том, что это код html и там есть смайлики, а кодировка бд не utf8mb4.
Александр Туниеков
24 ноября 2024, 09:32
0
Привет не понятно где храниться код который ты добавляешь. И что за код. Рискну предположить, что у тебя обрезается код сниппетов. Сниппеты хранятся в базе и возможно длины поля не хратает под твои огромные сниппеты. По умолчанию в modx_site_snippets тип поля snippet MEDIUMTEXT. По идее для всего должно хватать О_О. Что за код у тебя? Объясни подробнее
А HTML код… В modx_site_content: content и в modx_site_htmlsnippets: snippet тоже MEDIUMTEXT…
Евгений
23 ноября 2024, 11:51
0
Отличное дополнение, спасибо!
Подскажите, как организовать файл если стоит msOptionsPrice2 привязан к опции size там может быть много позиций с разными ценами?
Алексей
23 ноября 2024, 00:42
0
Еще снова вернулась проблемка, после выбора способа доставки почтой РФ — появляется стоимость доставки, но она «прилипает» и не исчезает после переключение способа доставки на СдэкКурьер.
(а до переключения на почту, Сдэк курьер рассчитывает нормально) Неправильно что-то сделал.
<h2 class="border h1">{'ms2_deliveries'|lexicon}</h2>
[[!msRussianPost]]
[[!ms_CDEK2]]
<div id="ms_cdek2_status"></div>
Алексей
22 ноября 2024, 23:29
0
Помогите пожалуйста, с настройками напутал.

По msRussianPost в этом году примерно началось, возможно при установке 4.0.13-beta 2024-10-21.
При выборе города из выпадающего списка в ранее заполненное поле индекс подставляется Undified.
И сдэк компонент примерно также (Undified не ставится, просто заполненный индекс удаляет)


Есть 2 выпадающих списка городов с разным дизайном, один при выборе просто стирает индекс, надо вводить заново, а второй список подставляет Undified.

Включаю Автокомплит у Почты (Индекс Undified ставится)
Надо выбрать и включить только один из автокомплитов городов, так задумано?
Артур Шевченко
22 ноября 2024, 21:57
+1
Лучше деинсталировать и установить новую версию. Там полностью переписан JS.
Алексей
22 ноября 2024, 21:49
0
Здравствуйте. Компонент ms_Cdek2 вернули, ура! У меня 2.0.31-beta от 2022г.
Подскажите пожалуйста, его деинсталлировать или просто обновить до новой версии?
Дмитрий
22 ноября 2024, 19:55
0
Все исправилось, после замены на 'parents' => $_modx->resource.id
Дмитрий
22 ноября 2024, 19:53
0
Добрый вечер! Я в курсе, что вылетает ошибка, т.к. не заполнены поля у товара… он выдает что то такое… надо исправить )…
Ruslan
22 ноября 2024, 09:31
0
А кто подскажет, как в форму Создания/Редактирования ресурса, через ms2Form, добавить возможность выбирать несоклько параметров в одном TV?
Ну то-есть например у меня есть у карточки недвижимости TV c select и checkbox значениями.
Как мне в самой форме создания/редактирования ресурса, вывести список значений TV параметра так же выпадающим списком, или чекоксом?
Перекопал форум, и ненашел никакой документации с примером такой реализации.
Подскажите где посмотреть?
ВитОс
22 ноября 2024, 08:53
0
если правильно понял то так
{set $rows = json_decode($_modx->resource.constructor_block, true)}
                        {foreach $rows as $index => $row}
                                <strong>{$row.name}</strong> {$row.description}
                                {set $lessons = json_decode($row.lesson, true)}
                                            {foreach $lessons as $lesson}
                                                    <h4>{$lesson.title}</h4>
                                            {/foreach}
                        {/foreach}
Роман
22 ноября 2024, 08:43
0
Подскажите, если на странице будет две формы, они будут работать? К примеру reCaptchaV3 этого сделать не может, нужно через костыль в виде скрипта, который сбрасывал через указанное время отправку и обновлял ключи.
Ivan
22 ноября 2024, 01:42
0
У вас есть баг при изменении кол-ва позиции в корзине
Артур Шевченко
21 ноября 2024, 22:15
1
0
надо как то подгружать через Ajax, разные формы
Можно и подгружать. Устанавливаешь SendIt. Разметка будет такая
<form action="">
    <select name="realty_type" data-si-preset="load_fields" data-si-event="change" data-si-form>
        <option value="квартира" selected>квартира</option>
        <option value="земельный участок">земельный участок</option>
    </select>
    <div id="results">{'loadFields' | snippet: ['type' => 'квартира']}</div>
</form>
Пресет такой
'load_fields' => [
    'hooks' => '',
    'resultBlockSelector' => '#results',
    'resultShowMethod' => 'insert',
    'snippet' => 'loadFields'
]
Сниппет loadFields примерно такой
$type = $type ?? $_POST['realty_type'];
$html = '';
switch ($type) {
    case 'квартира':
        $html = $modx->getChunk('flatFields', []);
        break;
    case 'земельный участок':
        $html = $modx->getChunk('groundFields', []);
        break;
}
if($SendIt){
    if($result['success']){
        return $SendIt->success(true, ['html' => $html]);
    }else{
        return $SendIt->error(false, []);
    }
}
return $html;
Ну а в чанках соответственно поля.
Дмитрий
21 ноября 2024, 14:22
0
А подскажите тогда, у меня есть допустим Теги: Новости, Акции, что надо дописать что бы видно было 10 допустим а остальное скрыто с кнопкой «еще»