Тёмная тема для сайтов на MODX
Всем привет!
Сейчас становится всё более актуально создавать сайты не только адаптивными под разные устройства, но также и с акцентом на использование в разное время суток — то есть с возможностью переключения светлой и тёмной темы.
Обратил внимание, что у многих на мобильных устройствах включена тёмная тема на постоянной основе и все приложения открываются в соответствии с системной темой. В данной статье я расскажу, как сделать сайт удобным при любом из сценариев использования тёмной темы на устройствах пользователя.
Сейчас становится всё более актуально создавать сайты не только адаптивными под разные устройства, но также и с акцентом на использование в разное время суток — то есть с возможностью переключения светлой и тёмной темы.
Обратил внимание, что у многих на мобильных устройствах включена тёмная тема на постоянной основе и все приложения открываются в соответствии с системной темой. В данной статье я расскажу, как сделать сайт удобным при любом из сценариев использования тёмной темы на устройствах пользователя.
Фильтрация по списку с автодополненинем
Заметил своеобразное поведение при фильтрации через mFilter2.
Если у товара несколько опций (например: опция1, опция2), то фильтрация происходит по принципу «или». Т.е. в фильтре выводится чекбокс с именем «опция1, опция2», но при выборе его, выводятся все товары, у которых есть хотя бы одна из этих опций. А нужно, чтобы выводились товары, у которых указаны обе опции.
Можно ли сделать это штатными средствами? Или подскажите, в какую сторону думать. Спасибо.
Если у товара несколько опций (например: опция1, опция2), то фильтрация происходит по принципу «или». Т.е. в фильтре выводится чекбокс с именем «опция1, опция2», но при выборе его, выводятся все товары, у которых есть хотя бы одна из этих опций. А нужно, чтобы выводились товары, у которых указаны обе опции.
Можно ли сделать это штатными средствами? Или подскажите, в какую сторону думать. Спасибо.
Вывод меню выбора языков для 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
Добрый день, ищу исполнителя для верстки готового шаблона тематика у сайта ит услуги
Задача есть готовый сайт pksecurity.ru задача выполнить верстку шаблона под modx
Оцените сроки и стоимость работы
Если вы заинтересовались пишите мне в телегу для связи @Анатолий
Задача есть готовый сайт pksecurity.ru задача выполнить верстку шаблона под modx
Оцените сроки и стоимость работы
Если вы заинтересовались пишите мне в телегу для связи @Анатолий
MODX Meetup 2024 в Белграде
Совсем скоро — 19 апреля состоится MODX Meetup 2024 в Белграде. Организатор митапа — Sterc, и меня попросили рассказать об этом в русскоязычном сообществе.
Чего то я не понимаю в группах ресурсов
Добрый день.
Возникла необходимость ограничить CRUD для определенных пользователей в контексте mgr для определенных ресурсов. А если человеческими словами, то чтобы каждый пользователь админки видел и мог работать только с определенными страницами.
Могу легко это сделать, внеся изменения в ядро, но решил для начала использовать уже имеющиеся инструменты.
Решил использовать ограничения по группам ресурсов, ранее никогда ими не пользовался. Но их работа показалась мне настолько нелогичным, что явно я чего то не понимаю. Опишу что делаю, а вы подскажите пожалуйста в чем неправ.
Что имеем.
Возникла необходимость ограничить CRUD для определенных пользователей в контексте mgr для определенных ресурсов. А если человеческими словами, то чтобы каждый пользователь админки видел и мог работать только с определенными страницами.
Могу легко это сделать, внеся изменения в ядро, но решил для начала использовать уже имеющиеся инструменты.
Решил использовать ограничения по группам ресурсов, ранее никогда ими не пользовался. Но их работа показалась мне настолько нелогичным, что явно я чего то не понимаю. Опишу что делаю, а вы подскажите пожалуйста в чем неправ.
Что имеем.
разделение фильтров mFilter2 [решено]
Добрый вечер! Подскажите, возможно ли список фильтров на странице разделить на части?
вот пример — www.soyuzopttorg.com/functional_ingredients/?selfFilter_678=678&set_filter=Показать
Заголовок, затем в столбик из 10 чекбоксов (каждый из них — это отдельная опция товара)
Второй заголовок и еще 10 чекбоксов с опциями.
вот пример — www.soyuzopttorg.com/functional_ingredients/?selfFilter_678=678&set_filter=Показать
Заголовок, затем в столбик из 10 чекбоксов (каждый из них — это отдельная опция товара)
Второй заголовок и еще 10 чекбоксов с опциями.
Как импортировать товары из "Мой Склад" в modX из YML файла в miniShop2?
Собственно сабж.
Есть сайт созданый на конструкторе Мой Склад, а сейчас поставили задачу сделать сайт на отдельной CMS.
Соответственно думаю modX + Minishop2, но требуется примерно 4 000 товаров подключить из Мой Склад.
Из этой системы можно экспортировать YML-файлы со списком, описанием, характеристиками товаров.
Изучил вопрос — есть компонент msImportExport, но из видео, что находил, понятно, что он работает с данными, а изображения надо подгружать вручную, я прав?
Или есть какие-то варианты загрузки изображений в modX из этого же файла Импорта/Экспорта?
Есть сайт созданый на конструкторе Мой Склад, а сейчас поставили задачу сделать сайт на отдельной CMS.
Соответственно думаю modX + Minishop2, но требуется примерно 4 000 товаров подключить из Мой Склад.
Из этой системы можно экспортировать YML-файлы со списком, описанием, характеристиками товаров.
Изучил вопрос — есть компонент msImportExport, но из видео, что находил, понятно, что он работает с данными, а изображения надо подгружать вручную, я прав?
Или есть какие-то варианты загрузки изображений в modX из этого же файла Импорта/Экспорта?
Почему не работает кастомный контроллер office?
Добрый день!
Создал кастомный контроллер profilecustom.class.php в папке с контроллерами.
Скопировал метод Update и назвал UpdateCustom.
Скопировал profile/default.js и назвал custom.js, указал его в системной настройке.
В js указал action profilecustom/updatecustom.
При сохранении профиля в личном кабинете во вкладке Network вижу ответ
Создал кастомный контроллер profilecustom.class.php в папке с контроллерами.
Скопировал метод Update и назвал UpdateCustom.
Скопировал profile/default.js и назвал custom.js, указал его в системной настройке.
В js указал action profilecustom/updatecustom.
При сохранении профиля в личном кабинете во вкладке Network вижу ответ
Could not find method "updatecustom" in controller "profilecustom"
Код контроллера:if (!class_exists('officeProfileController')) {
include 'profile.class.php';
}
/**
* Class officeProfileCustomController
*/
class officeProfileCustomController extends officeProfileController
{
/**
* Updates profile of user
*
* @param array $data
*
* @return array|string
*/
public function UpdateCustom($data = array())
{...
Minishop 4.3.0-pl источник файлов
Всем доброго времени суток.
Имеем на борту
Minishop 4.3.0-pl
MODX 2.8.5
При создании нового товара для этого товара в галерее задается источник файлов 1 Filesystem
В настройках магазина установлен источник файлов галереи но почему то игнорируя все настройки при создании нового товара задается именно этот источник файлов.
Такое случилось после переезда на выделенный сервер.
Возможно кто то знает причину и способ ее устранения.
Спасибо.
Имеем на борту
Minishop 4.3.0-pl
MODX 2.8.5
При создании нового товара для этого товара в галерее задается источник файлов 1 Filesystem
В настройках магазина установлен источник файлов галереи но почему то игнорируя все настройки при создании нового товара задается именно этот источник файлов.
Такое случилось после переезда на выделенный сервер.
Возможно кто то знает причину и способ ее устранения.
Спасибо.