5 часов назад
Кстати, если кому интересно, mmxDatabase вроде как можно запустить и на MODX 2.x.
Сначала в консоли делаем так:
composer require mmx/databaseвыпол...
Новый тип дополнений: mmxDatabase и mmxForms 31
7 часов назад
Всем привет! Подскажите пожалуйста а можно ли сделать фильтр в 2 уровня и как это сделать? Т.е. например мне нужно сделать: домен/бренд-из-сео-фильтра...
Анонс SeoFilter - ЧПУ+SEO для mFilter2 и не только 120
Вчера в 15:27
Есть у кого-то идеи? или в данном случае через плагин и событие пробовать, или мсинк тупо всё обрезает?
Msync как записать html контент, а не обработанный без тегов? 1
Вчера в 12:15
воротите, что хотите. Вплоть до удаления исходников сайта, это уже на ваше усмотрение.
Это определённо очень важная возможность 😊
mmxFenom - нативная интеграция шаблонизатора 3
Вчера в 11:30
Управляя настройками mysql, можно задать параметр sql_mode пустым значением (после чего все заработает), но хостер такую возможность не дает… Есть ли ...
pdoTools и sql_mode=only_full_group_by - ошибки при работе PdoPage 1
Вчера в 10:27
<?php
$id = $modx->getOption('id', $scriptProperties, $modx->resource->id);
$field = $modx->getOption('field', $scriptProperties);
$tpl...
Вывод даты msTimeStamp полей MiniShop2: new, favorite, popular... 3
01 мая 2024, 21:40
$pdoTools = $modx->getParser()->pdoTools;
$data['count_products'] = count($data['products']);
$renderedHtml = $pdoTools->get...
Как передать переменные внутрь чанка из сниппета и заполнить с помощью fenom? 2
Поэтому, если вам необходимо сохранить ссылочную массу, то без редиректов не обойтись (на мой взгляд)
Чтобы не писать 1000 редиректов в htaccess я использую редиректы на уровне php
Примерно вот так
www.ahp-net.ru/cmschange.ahp
Теперь вложенность — это отдельная галочка в настройках каждого ресурса.
PS кстати эта функция доставила массу хлопот. Я не заметил (а может и не было) описания этой фичи в списке изменений и был уверен, что все ссылке на новом сайте создаются согласно системной настройки — использовать вложенные УРЛ. Пока СЕОшники не стали писать, что большинство страниц открываются без учета вложенности.
В 95 процентов случаев веб разработчики делают довольно простые проекты, но стремятся наворотить туда как можно больше технологий — композеры, пайпы, варганты, докеры, препроцессоры, галпы, боуэры, энпээмы, рэст фулы, вотчеры, системы контроля версий…
На мой взгляд и вопрос с кешированием файлов стилей и скриптов также чрезмерно раздут. Прочел и ужаснулся, люди целые программы разрабатывают для этого. Разве не правильнее просто завести в каком-то своем пространстве имен свою системную настройку в которой будет лежать число. Это число и добавляеть как версию файла к стилям и скриптам. Во время разработки сайта это кеширование вообще не имеет смысла, достаточно нажать в браузере ctrl+f5 и весь кеш браузера слетел. На продакшине даже если и пришлось вносить какие то доработку в верстку или стили, зашел и в админке сменил цифру 3 на 4 в системных настройках. И все, все пользователи скачают новые файлы.
При настройке ТВ есть поле, для указание MIME типа. И в качестве примеров дается
И я частенько (и думаю не только я) бессовестно копирую строку из примеров. Но есть одна неувязка. Типа image/png нет в природе, если верить сайту
www.lifewire.com/file-extensions-and-mime-types-3469109
и получается ошибка. Если указать в поле тип image/png и пытаться загрузить изображение в формате png то нельзя сохранить ТВ, будет постоянно уведомление — необходимо сохранить ресурс.
В общем, наверное просто нужно убрать image/png из строки с примерами.
Дело в том что этот же сайт на продакшине работает отлично и все эти водяные знаки накладываются за 0,5 сек.
А вот именно перенос его на мой сервер для внедрения новых доработок, привел к такому «эффекту».
Тестовый сервер является выделенным и конфигурируется полностью вручную, поэтому почти наверняка не хватает какого то расширения, но в любом случае я нарушил главное правило — «не работает — смотри логи»)
Поскольку мы на странице товара, то идентификатор активного товара нам известен -его можно получить и на феноме и в самописном сниппете.
Нужно перед вызовом pdoMenu разместить вызов своего сниппета, который получит идентификатор текущего товара, получит идентификаторы двух товаров до него и двух после (я думаю логику можно будет подсмотреть в реализации pdoNeighbors) и вернет список из пяти айдишников — два айдишника до, айдишник текущего товара, два айдишника после.
Это строку скормить pdoMenu в параметр resources. И будет красиво, ваш товар активный будет всегда по центру и по два товара побокам.
Только e.preventDefault(); нужно убрать, иначе пользователи не будут никуда переходить по ссылке.
А для привязки целей к формам удобно пользоваться вот этим
docs.modx.pro/komponentyi/ajaxform#%D0%A1%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B5-af_complete
Я правда не настолько крут, чтобы выработать понимание того, какие галочки за что отвечают в политике доступа на основании анализа наследования процессоров.
Я к стыду своем, наоборот, настолько не крут, что даже слабо представляю чем занимаются процессоры в modx.
Как-то вот в мое понимание MVC не вписываются процессоры, но это конечно мои личные пробелы в образовании.
Так вы хотите сказать, что для того чтобы мне понять, почему при установленной галочке в политике доступа — очищать корзину, пользователь не может ее очистить, нужно мне отрыть процессор, отвечающий за корзину… Что-то я совсем запутался, но за подсказки спасибо.
Но если объект это и чанк и ресурс и вообще все, то зачем в политиках доступов отдельно прописано — редактирование чанка, тв поля и так далее. И должно ли тогда означать, что установив галочку — просматривать объекты, я одним махом разрешаю видеть все — и чанки и сниппеты и шаблоны?..
Что-то не так, мне кажется…
Вы создали ее сами?
Зачем у вас TV дата? Где участвует выбор даты?
Не совсем понимаю, как текущая дата может быть 2019-02-06, но при этом есть статья опубликованная через месяц, вы изобрели машину времени?)
Но думаю стоит посмотреть сюда
docs.modx.pro/komponentyi/pdotools/parser#%D0%A8%D0%B0%D0%B1%D0%BB%D0%BE%D0%BD%D0%B8%D0%B7%D0%B0%D1%82%D0%BE%D1%80-Fenom
Здесь можно узнать как получить в феномную переменную текущую даты.
PHP умеет сравнивать даты, если обе даты в одном формате.
Получите в феномную переменную дату в таком же формате, как она находиться в поле publishedon у любого ресурса.
Далее вот тут можно прочесть как составить условие для выборки в которых участвует сравнение больше меньше
docs.modx.com/xpdo/2.x/class-reference/xpdoquery/xpdoquery.where
И в итоге у вас получиться примерно такое условие
'where'=>['publishedon:>'=>'2018-09-19 15:48:00']
где вместо строки с датой будет стоять переменная с текущей датой
поставив лимит выборки равным 3 и нужное направление сортировки, вы получите искомое