Транспортный пакет для Composer дополнений
Василий Наумкин анонсировал новый вид дополнений для MODX3 способных решить проблему зависимостей.
Идея очень перспективная, заслуживает внимания и осмысливания. Мне прямо скажу очень понравилась — Василий респект!!!
Для полного внедрения в массы не хватает немного дружеского интерфейса — то за что народ и полюбил MODX. Вероятно необходима страничка для управления composer пакетами в админке.
Из которой можно выполнить поиск пакета аналогично поиску пакета в репозитории, установку, удаление, обновление и тд. и тп. Естественно сейчас об этом рано говорить… Но хочу привести пример транспортного пакета для Composer дополнений.
Фактически это просто обертка для установки из Composer mmxDatabase и mmxForms. Пакет при установке скачивает composer и актуальную версию composer.json. Далее в резолвере происходит либо установка пакета, либо удаление
Идея очень перспективная, заслуживает внимания и осмысливания. Мне прямо скажу очень понравилась — Василий респект!!!
Для полного внедрения в массы не хватает немного дружеского интерфейса — то за что народ и полюбил MODX. Вероятно необходима страничка для управления composer пакетами в админке.
Из которой можно выполнить поиск пакета аналогично поиску пакета в репозитории, установку, удаление, обновление и тд. и тп. Естественно сейчас об этом рано говорить… Но хочу привести пример транспортного пакета для Composer дополнений.
Фактически это просто обертка для установки из Composer mmxDatabase и mmxForms. Пакет при установке скачивает composer и актуальную версию composer.json. Далее в резолвере происходит либо установка пакета, либо удаление
easyComm 1.15.0 большой апдейт: ответы, улучшенные файлы и многое другогое!
Привет!
Сегодня расскажу про обновление easyComm до версии 1.15.0.
В этом обновлении огромное количество улучшений и исправлений, разных изменений.
В связи с этим: БЕКАП ПЕРЕД ОБНОВЛЕНИЕМ ОБЯЗАТЕЛЕН!!!
Эта версия содержит большое количество изменений, я не исключаю того, что будут баги.
На это обновление я затратил наверное часов 60 рабочего времени, так что в этой статье даже и не опишу всего, точно что-нибудь пропущу или забуду.
Сегодня расскажу про обновление easyComm до версии 1.15.0.
В этом обновлении огромное количество улучшений и исправлений, разных изменений.
В связи с этим: БЕКАП ПЕРЕД ОБНОВЛЕНИЕМ ОБЯЗАТЕЛЕН!!!
Эта версия содержит большое количество изменений, я не исключаю того, что будут баги.
На это обновление я затратил наверное часов 60 рабочего времени, так что в этой статье даже и не опишу всего, точно что-нибудь пропущу или забуду.
[FlatFilters] Первая успешная интеграция на коммерческий сайт.
Приветствую, наконец-то я довёл #FlatFilters до вменяемого состояния и даже протестировал его работу на боевом сайте, который находится у меня в поддержке.
Расширить group_concat_max_len для всего сайта MODX
Чтобы не забыть расширить значение group_concat_max_len просто добавляем параметр в конфиг сайта
$driver_options = array (
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET SESSION group_concat_max_len=20000'
);
Конфликт зависимостей Guzzle в MODX 3
Сначала хотел просто обновить предыдущую заметку, но решил, что это достойно более широкого обсуждения.
Итак, юзер @Futuris установил новенький mmxForms и словил Fatal Error 500 на сервере, при попытке создать форму.
В логах нашли вот такое сообщение:
Итак, юзер @Futuris установил новенький mmxForms и словил Fatal Error 500 на сервере, при попытке создать форму.
В логах нашли вот такое сообщение:
PHP Fatal error: Declaration of Slim\Psr7\Uri::withScheme($scheme) must be compatible with Psr\Http\Message\UriInterface::withScheme(string $scheme): Psr\Http\Message\UriInterface in ...Как же так? Почему у меня работает, а у него нет?
Новый тип дополнений: mmxDatabase и mmxForms
Привет, друзья, давно не виделись!
Прошло уже более 3х лет, как я перестал активно работать с MODX и занялся своим проектом Vesp. За это время я создал много разных сайтов и библиотек, неплохо освоил современные технологии, а теперь возвращаюсь порадовать сообщество MODX.
Почти год назад я уже написал заметку о фундаментальной проблеме в 3й версии MODX, и даже предложил готовый вариант её решения, но никакой реакции это не вызвало. Судя по количеству закачек (целых 10!), никто даже не попробовал установить новое дополнение и посмотреть, как оно работает.
Плюсом к этому добавились мои разговоры с европейскими коллегами на недавнем митапе в Швейцарии, из которых я вынес, что никто ничего менять не планирует.
А у меня есть свободное время, так что я решил немного подорвать экосистему новым типом дополнений, которые должны быть настолько хороши, чтобы заставить вас использовать Composer с MODX 3.
Прошло уже более 3х лет, как я перестал активно работать с MODX и занялся своим проектом Vesp. За это время я создал много разных сайтов и библиотек, неплохо освоил современные технологии, а теперь возвращаюсь порадовать сообщество MODX.
Почти год назад я уже написал заметку о фундаментальной проблеме в 3й версии MODX, и даже предложил готовый вариант её решения, но никакой реакции это не вызвало. Судя по количеству закачек (целых 10!), никто даже не попробовал установить новое дополнение и посмотреть, как оно работает.
Плюсом к этому добавились мои разговоры с европейскими коллегами на недавнем митапе в Швейцарии, из которых я вынес, что никто ничего менять не планирует.
А у меня есть свободное время, так что я решил немного подорвать экосистему новым типом дополнений, которые должны быть настолько хороши, чтобы заставить вас использовать Composer с MODX 3.
msGoodsLink
msGoodsLinks – компонент предназначенный для создания перелинковки по опциям и свойствам товаров в miniShop2. Пакет позволяет настроить ссылки с товара на категории, в которых присутствует данный товар.
Основная идея разработки пакета – дать пользователям сайта возможность перейти в заранее подготовленную категорию с похожими товарами при клике по опции или свойству.
Купить
Основная идея разработки пакета – дать пользователям сайта возможность перейти в заранее подготовленную категорию с похожими товарами при клике по опции или свойству.
Купить
Тёмная тема для сайтов на MODX
Всем привет!
Сейчас становится всё более актуально создавать сайты не только адаптивными под разные устройства, но также и с акцентом на использование в разное время суток — то есть с возможностью переключения светлой и тёмной темы.
Обратил внимание, что у многих на мобильных устройствах включена тёмная тема на постоянной основе и все приложения открываются в соответствии с системной темой. В данной статье я расскажу, как сделать сайт удобным при любом из сценариев использования тёмной темы на устройствах пользователя.
Сейчас становится всё более актуально создавать сайты не только адаптивными под разные устройства, но также и с акцентом на использование в разное время суток — то есть с возможностью переключения светлой и тёмной темы.
Обратил внимание, что у многих на мобильных устройствах включена тёмная тема на постоянной основе и все приложения открываются в соответствии с системной темой. В данной статье я расскажу, как сделать сайт удобным при любом из сценариев использования тёмной темы на устройствах пользователя.
Вывод меню выбора языков для Localizator
Понадобилось сделать меню для сайта с выбором языка. В стандартной документации везде подставляют иконки языка, без текста названия языка.
Я нигде не нашел как можно вытащить название языка (локализации) и указать его в меню выбора языков справа от иконки языка. А оказалось все просто.
В сниппете getLanguages можно было просто добавить еще один плейсхолдер 'languageName'=> $language->name (к имеющимся cultureKey, active и url).
section-langs-1:
Я нигде не нашел как можно вытащить название языка (локализации) и указать его в меню выбора языков справа от иконки языка. А оказалось все просто.
В сниппете getLanguages можно было просто добавить еще один плейсхолдер 'languageName'=> $language->name (к имеющимся cultureKey, active и url).
foreach($languages as $language) {
if(mb_substr($language->http_host, -1) == '/') {
$placeholders = array(
'cultureKey' => $language->key,
'active' => $language->key == $modx->localizator_key ? 'active' : '',
'url' => $protocol . $language->http_host . $uri,
'languageName'=> $language->name,
);
} else {
$placeholders = array(
'cultureKey' => $language->key,
'active' => $language->key == $modx->localizator_key ? 'active' : '',
'url' => $protocol . $language->http_host . '/' . $uri,
'languageName'=> $language->name,
);
}
И в чанках просто добавить {$languageName}section-langs-1:
<a href="#" class="nav-link dropdown-toggle {if $_modx->config.cultureKey == $cultureKey} {$active} {else} collapse {/if} localizator_lang" data-bs-toggle="dropdown" role="button" aria-expanded="false" >
<span class="{$cultureKey}_24" style="display: inline-block;"></span>
{$languageName}
</a>
section-langs-2:{if $_modx->config.cultureKey != $cultureKey}
<li >
{if $active != 'active'}
<a class="{$active} localizator_lang" href="{$url}" class="dropdown-item">
<span class="{$cultureKey}_24" style="display: inline-block;"></span>
{$languageName}
</a>
{else}
<div class="{$active} {$cultureKey}_24 localizator_lang" class="dropdown-item">
<span class="{$cultureKey}_24" style="display: inline-block;"></span>
{$languageName}
</div>
{/if}
</li>
{/if}
MODX Meetup 2024 в Белграде
Совсем скоро — 19 апреля состоится MODX Meetup 2024 в Белграде. Организатор митапа — Sterc, и меня попросили рассказать об этом в русскоязычном сообществе.