Pull to refresh
3
0
Александр Андрюшенков @shot131

Пользователь

Send message
Причём тут debug? Я говорю об этой проблеме https://www.virtualbox.org/ticket/10085. У меня починить никак не получилось, вот и приходится собирать frontend под windows. Можно конечно вынести сборщик за пределы shared folder, но в таком случае с исходниками придётся работать по ssh, что не много не удобно, да и зачем? Nodejs отлично себя чувствует под windows.
Действительно виртуализация удобнее. Сам работал на openserver, сейчас перешёл на virtualbox, стало гораздо проще. Единственный минус нет поддержки символических ссылок для гостевых файлов, поэтому nodejs приходится держать отдельно под windows и nix. А профит по-моему и так понятен: одинаковое окружение на dev и prod сервере, ведь git и composer это не все что требуется для разработки.
Да, это я понял, но в итоге кто прав, как выравнивать, по правому краю или по разрядам?
Следовательно, таблицы должны выравнивать числовые данные по правому краю.

В советах «Дизайн-бюро Артёма Горбунова» говорят, что это заблуждение, разъясните пожалуйста, как правильно? Ссылка на совет про выравнивание в таблицах.
Почему не используете аннотации для роутинга? Вроде в best practices советуют использовать именно их. Интересно чем обусловлен такой выбор, сам я в symfony не силён.
Разве нельзя получить всех потомков, независимо от уровня вложенности, по url родителя? Ведь у всех потомков хранится полный путь — это всего один запрос к базе.
Непонятно зачем использовать nestedset, если в базе хранится полный url. Получается, что для генерации любого url достаточно знать parent?
Кто уже побывал на прошлой конференции, подскажите стоит ехать? В прошлый раз очень хотелось, но не срослось.
Ничего не мешает — это вопрос удобства использования и поддержки, никаких особенных ограничений нет.
Мне удобнее размещать логику в плагине если нужно запустить какой-то код с разными условиями для многих ресурсов.
С другой стороны, если это уникальное действие для которого можно выделить отельный ресурс (например форма обратной связи или регистрации), то удобнее размещать в ресурсе.
Подходит и для шаблонов, только в этом случае придётся создать отдельный шаблон и в плагин прописать условие, по которому шаблон ресурса изменится не на 0, а на нужный
Извиняюсь не туда отписал, ответ ниже.
В чём сложность приведённого сниппета и чем плох вариант с помещением вызова сниппета или чанка в поле контент ресурса?
Ваш способ ничем не хуже, просто я решил поделиться с сообществом своим опытом.
В моём примере используется всего один небольшой плагин, что по моему мнению гораздо проще в реализации, да и процесс обработки запроса более прозрачен, запрашиваешь ресурс через ajax, а в ответ получаешь только контент, всё просто и понятно и не нужно разбираться как работают сторонние модули.
В примере показана только работа с формами, этот же способ можно использовать для получения результата работы отдельного сниппета или чанка, для этого достаточно добавить в приведённый в начале поста плагин пару условий.
Например, можно сделать ajax пагинатор, модифицируя код плагин следующим образом:
<?php
if ($modx->event->name == 'OnLoadWebDocument') {
    if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
        if (isset($_GET['page'])) {
            $items = $modx->runSnippet('getPage', array(
                'element' => 'getResources',
                'tpl' => 'rowTpl'
            ));
            $modx->resource->set('content', $modx->toJSON(array(
                'items' => $items,
                'pages' => $modx->getPlaceholder('pageNavVar')
            )));
        }
        $modx->resource->set('cacheable', 0);
        $modx->resource->set('template', 0);
    }
}

При этом один и тот же плагин позволяет как работать с формами, так и получать отдельные элементы.
Приведённый сниппет возможно использовать в случае необходимости сделать ajax форму обратной связи или авторизации?
Да, данные отдаются некешируемые, с другой стороны если речь идёт о доступе к каким-то динамическим данным (например в случае с постраничной разбивкой) или обработке форм, то кешировать там особенно нечего.
С другой стороны, всегда можно подключить кеширование непосредственно в плагине, если это необходимо.
Да ещё кое что, может это не очень логично, но ресурс мы не сохраняем, при просмотре из браузера он закешируется, а вот в случае ajax запроса, пользователь получит некешированную версию и только контент.
Не очень понял вопрос, но суть в том, что в случае с не отключённым кешированием при ajax запросе, ресурс закешируется без шаблона, и при просмотре такого ресурса в браузере, пользователь увидит его кешированную версию, то есть без шаблона и наоборот.
Данный способ особенно удобен например для ajax пагинации по каталогу товаров, при переходе на следующую страницу возвращает только следующие n товаров, но при открытии страницы в браузере пользователь увидит её полную версию.
Кеширование отключаем, чтобы при открытии ресурса посредством обычного запроса, он отображался с установленным шаблоном, в некоторых случаях может понадобиться.

Information

Rating
Does not participate
Location
Россия
Registered
Activity