Всего 123 795 комментариев

Олег Захаров
09 марта 2024, 02:05
0
оформил как заметку https://modx.pro/lessons/24602
Получилась такая панелька.
Олег Захаров
09 марта 2024, 01:47
0
Я нигде не нашел как можно вытащить название языка (локализации).
Сделал такой сниппет getLanguageName:
<?php
if (isset($keysearch) && $keysearch === '') {
    $scriptProperties['keysearch'] = $modx->localizator_key;
}

$output = "";
$clang = $keysearch;/*$modx->config.cultureKey;*/
/*$languages = $modx->getIterator('localizatorLanguage'/*, $c*//*);*/
$languages = $modx->getIterator('localizatorLanguage', ['active' => 1]);
foreach($languages as $language) {
    if ($language->key==$clang) { 
        $output .= $language->get('name');
        
    }
}
return $output;
В чанках сделал так:
чанк section-langs-1
<a href="#" class="nav-link dropdown-toggle {if $_modx->config.cultureKey == $cultureKey} {$active} {else} collapse {/if}  localizator_lang" data-toggle="dropdown" data-bs-toggle="dropdown"  role="button" aria-expanded="false" >{*'localizator_key' | option} - {$_modx->config.cultureKey*} 
<span class="{$cultureKey}_24" style="display: inline-block;"></span>
{$_modx->runSnippet('!getLanguageName', ['keysearch'=>$cultureKey])}
  {*<img class="imglang {$active}" src="/assets/img/flags/{$cultureKey}.png" alt="{$cultureKey}">*}{*картинка языка подбирается из assets/app/images/flags/flag_24.png исходя из локали по настройкам assets/app/css/flag_24.css*}
</a>
Чанк: section-langs-2:
{if $_modx->config.cultureKey != $cultureKey}
<li >
  {if $active != 'active'}
    <a class="{$active} localizator_lang" href="{$url}" class="dropdown-item">{*картинка языка подбирается из assets/app/images/flags/flag_24.png исходя из локали по настройкам assets/app/css/flag_24.css*}
      {*<img class="imglang {$active}" src="/assets/img/flags/{$cultureKey}.png" alt="{$cultureKey}">*}
        <span class="{$cultureKey}_24" style="display: inline-block;"></span>
        {$_modx->runSnippet('!getLanguageName', ['keysearch'=>$cultureKey])}
    </a>
  {else}
    <div class="{$active} {$cultureKey}_24 localizator_lang" class="dropdown-item">{*картинка языка подбирается из assets/app/images/flags/flag_24.png исходя из локали по настройкам assets/app/css/flag_24.css*}
      {*<img class="imglang {$active}" src="/assets/img/flags/{$cultureKey}.png" alt="{$cultureKey}">*}
        <span class="{$cultureKey}_24" style="display: inline-block;"></span>
        {$_modx->runSnippet('!getLanguageName', ['keysearch'=>$cultureKey])}
    </div>
  {/if}
</li>
{/if}
Чанк вывода панели выбора языков:
<ul class="nav nav-pills localizator-block babel-block">
  <li class="langs nav-item dropdown">
     {$_modx->runSnippet('!getLanguages', ['tpl' => 'section-langs-1'])}
     <ul class="dropdown-menu">
       {$_modx->runSnippet('!getLanguages', ['tpl' => 'section-langs-2'])}
    </ul>
  </li>
                                                    
 </ul>
Вывожу для Bootstrap 5, а не как в
Причем как видно я переделал отображение знака языка не через картинку а через flag_24.png.
Использовал пример под Babel с
Заменил в нем косяки (языки kg на самом деле ky (там ky вообще какой то левый флаг не понял что за страна), ir (Иранский) у меня оформлен как fa (персидский),
Добавил стили
.localizator_lang{
    color: black!important;
    background-color: unset!important;
    align-items: center;
    display: flex;
}
в настройках .htaccess добавил так:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(ru|en|fa|tk|ky|abkhazia|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bl|bm|bn|bo|br|bs|bt|bw|by|by_|bz|ca|cd|cf|cg|ch|ci|cl|cm|cn|co|cr|cu|cv|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|eh|england|er|es|et|eu|fi|fiji|fk|fm|fo|fr|ga|gd|ge|gg|gh|gl|gm|gn|gq|gr|gs|gt|gu|gw|gy|hk|hn|hr|ht|hu|id|ie|il|im|in|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kosovo|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mf|mg|mh|mk|ml|mm|mn|mo|mp|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nagorno-karabakh|nato|nf|ng|ni|ni_|nl|no|np|nr|nz|om|pa|pe|pg|ph|pk|pl|pn|pr|ps|pt|pw|py|qa|red_cross|ro|rs|ru|rw|sa|sb|sc|scotland|sd|se|sg|sh|si|sk|sl|sn|so|somaliland|south_ossetia|sr|ss|st|sv|sy|sz|tc|td|tg|th|tj|tm|tn|to|tp|tr|tt|turkish_republic_of_northern_cyprus|tv|tw|tz|ua|ug|uk|un|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wales|ws|ye|za|zm|zw)/assets(.*)$ assets$2 [L,QSA]
Получилась такая красота https://disk.yandex.ru/i/MG9-_uxLZDNTEA

Файл с иконками языка https://disk.yandex.ru/i/y-G8apn1dSooww
Файл css стилей https://disk.yandex.ru/d/R-eJsFVVQP5OmA
Павел Бигель
08 марта 2024, 21:36
0
Был бы конечно хоть малейший смысл от этих ивентов )
Henk Everts
08 марта 2024, 16:29
+6
Спасибо, что поделились, Илья. Sterc с нетерпением ждет встречи с хорошими друзьями и новыми людьми!
Илья Уткин
08 марта 2024, 15:56
+1
Да, проблема возникает, если пользователи пропустили какую-то версию MiniShop2 и обновились сразу на последнюю. Я так понимаю, в версии 3.х содержимое этих файлов заменялось на include файлов из другой папки, а в 4.x уже вовсю используются новые файлы, имея ввиду, что если старые файлы и были, то они обновлены.

А если юзер обновил с версии 2.х сразу на 4.х — вот тогда и возникает проблема.
Олег
07 марта 2024, 21:21
0
Спасибо. Поэкспериментирую
Сергей Карпович
07 марта 2024, 20:28
0
Посмотри в доке параметр &toSeparatePlaceholders
Кажется от позволяет плейсхольер filters разбивает на дополнительные по каждому фильтру.

Возможно это то что нужно
Олег
07 марта 2024, 20:20
0
В вашем примере скорее всего выводятся опции с типом список с автозаполнением. И.е заголовок-это название опции, а далее ее содержимое.

Мой вопрос о другом. Каждый чекбокс-это отдельная опция. Но вывод полного списка опций нужно разделить на группы
Володя
07 марта 2024, 16:38
0
Добрый день.
Написать в Тп. И там же сразу скинуть доступы к админке, посмотрю в чем дело.
Андрей
07 марта 2024, 16:33
0
Добрый день!
если эта инструкция не помогла, что еще может влиять?
при выборе онлайн оплаты тинькофф в корзине появляется 500 ошибка, и решается только сбросом сессий.
Maksim
07 марта 2024, 13:19
0
По модулю cityFields
При вызове сниппета fenom — стили модалки не подгружаются.
сниппет так вызывается {$_modx->runSnippet('!cfCities')}

выглядит результат вот так
Сергей Карпович
07 марта 2024, 09:01
0
Можно, это их базовый функционал
minishop2.com/catalog/
Александр Мельник
07 марта 2024, 08:56
0
мне помогла деинсталяция и повторная установка minishop.
Возникло ощущение, что этой версии minishop (3.0.7) крайне важно, чтобы при инсталяции уже был установлен pdotools.
Матвей
06 марта 2024, 21:54
0
Спасибо большое за подсказку...)) Буду изучать!
Сергей Карпович
06 марта 2024, 21:10
0
Есть предложение по развитию компонента — подружить его с FileAttach/FileMan
Потому что последние также можно использовать как галереи.
И тут уже разворачиваются интересные функции вставки в контент не только изображений и галерей, но и файлов.
Сергей Карпович
06 марта 2024, 20:52
0
Обрати внимание на компонент mSync
modstore.pro/packages/import-and-export/msync

Компонент позволяет импортировать товары и торговые предложения из 1С, Класс365 и МойСклад по протоколу CommerceML в интернет-магазин на основе miniShop2.
Артур Шевченко
06 марта 2024, 18:23
0
Думаю у вас не получится запустить SendIt из вне
Сергей Карпович
06 марта 2024, 12:31
0
Первый вариант работает, второй тоже работает