Тёмная тема для сайтов на MODX

Всем привет!

Сейчас становится всё более актуально создавать сайты не только адаптивными под разные устройства, но также и с акцентом на использование в разное время суток — то есть с возможностью переключения светлой и тёмной темы.

Обратил внимание, что у многих на мобильных устройствах включена тёмная тема на постоянной основе и все приложения открываются в соответствии с системной темой. В данной статье я расскажу, как сделать сайт удобным при любом из сценариев использования тёмной темы на устройствах пользователя.

Дмитрий
10 марта 2024, 21:31
modx.pro
3
580
+4

Фильтрация по списку с автодополненинем

Заметил своеобразное поведение при фильтрации через mFilter2.
Если у товара несколько опций (например: опция1, опция2), то фильтрация происходит по принципу «или». Т.е. в фильтре выводится чекбокс с именем «опция1, опция2», но при выборе его, выводятся все товары, у которых есть хотя бы одна из этих опций. А нужно, чтобы выводились товары, у которых указаны обе опции.
Можно ли сделать это штатными средствами? Или подскажите, в какую сторону думать. Спасибо.
Evgeny Epifanov
10 марта 2024, 19:30
modx.pro
399
0

Вывод меню выбора языков для Localizator

Понадобилось сделать меню для сайта с выбором языка. В стандартной документации везде подставляют иконки языка, без текста названия языка.
Я нигде не нашел как можно вытащить название языка (локализации) и указать его в меню выбора языков справа от иконки языка. А оказалось все просто.
В сниппете 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}
Олег Захаров
09 марта 2024, 01:56
modx.pro
1
306
+1

Весрстка шаблона под modx

Добрый день, ищу исполнителя для верстки готового шаблона тематика у сайта ит услуги

Задача есть готовый сайт pksecurity.ru задача выполнить верстку шаблона под modx

Оцените сроки и стоимость работы
Если вы заинтересовались пишите мне в телегу для связи @Анатолий
Анатолий
08 марта 2024, 16:47
modx.pro
157
0

MODX Meetup 2024 в Белграде



Совсем скоро — 19 апреля состоится MODX Meetup 2024 в Белграде. Организатор митапа — Sterc, и меня попросили рассказать об этом в русскоязычном сообществе.
Илья Уткин
08 марта 2024, 16:18
modx.pro
1 481
+13

Чего то я не понимаю в группах ресурсов

Добрый день.
Возникла необходимость ограничить CRUD для определенных пользователей в контексте mgr для определенных ресурсов. А если человеческими словами, то чтобы каждый пользователь админки видел и мог работать только с определенными страницами.
Могу легко это сделать, внеся изменения в ядро, но решил для начала использовать уже имеющиеся инструменты.
Решил использовать ограничения по группам ресурсов, ранее никогда ими не пользовался. Но их работа показалась мне настолько нелогичным, что явно я чего то не понимаю. Опишу что делаю, а вы подскажите пожалуйста в чем неправ.

Что имеем.
Александр Мельник
08 марта 2024, 16:17
modx.pro
788
0

разделение фильтров mFilter2 [решено]

Добрый вечер! Подскажите, возможно ли список фильтров на странице разделить на части?
вот пример — www.soyuzopttorg.com/functional_ingredients/?selfFilter_678=678&set_filter=Показать

Заголовок, затем в столбик из 10 чекбоксов (каждый из них — это отдельная опция товара)
Второй заголовок и еще 10 чекбоксов с опциями.
Олег
07 марта 2024, 01:08
modx.pro
134
0

Как импортировать товары из "Мой Склад" в modX из YML файла в miniShop2?

Собственно сабж.
Есть сайт созданый на конструкторе Мой Склад, а сейчас поставили задачу сделать сайт на отдельной CMS.

Соответственно думаю modX + Minishop2, но требуется примерно 4 000 товаров подключить из Мой Склад.
Из этой системы можно экспортировать YML-файлы со списком, описанием, характеристиками товаров.

Изучил вопрос — есть компонент msImportExport, но из видео, что находил, понятно, что он работает с данными, а изображения надо подгружать вручную, я прав?

Или есть какие-то варианты загрузки изображений в modX из этого же файла Импорта/Экспорта?
Матвей
06 марта 2024, 16:26
modx.pro
268
0

Почему не работает кастомный контроллер office?

Добрый день!
Создал кастомный контроллер 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())
    {...
Lori
06 марта 2024, 11:28
modx.pro
223
0

Minishop 4.3.0-pl источник файлов

Всем доброго времени суток.
Имеем на борту
Minishop 4.3.0-pl
MODX 2.8.5

При создании нового товара для этого товара в галерее задается источник файлов 1 Filesystem
В настройках магазина установлен источник файлов галереи но почему то игнорируя все настройки при создании нового товара задается именно этот источник файлов.
Такое случилось после переезда на выделенный сервер.
Возможно кто то знает причину и способ ее устранения.
Спасибо.
Maks
05 марта 2024, 07:23
modx.pro
208
0