Александр Мельник

Александр Мельник

С нами с 02 сентября 2016; Место в рейтинге пользователей: #64

Вывести тег modx, а не его значение

Добрый день.
Существуюет возможность вывести на странице (хотя в моем случае это виджет для панели управления админки) тег стандартного парсера от modx, а не его значение?
Пишу в коде [[++site_name]] и вижу на странице [[++site_name]], а не название сайта.
Спасибо.
Александр Мельник
20 апреля 2023, 11:32
modx.pro
163
0

нужен совет, но не про modx

Господа и дамы, нужно совет по docker.
Просто идеи или может кто-то на практике решал такую проблему.
Проблема — это проброс реального IP адреса клиента в php контейнер.
Два контейнера, в одном работает nginx, в другом — php (на самом деле есть и другие контейнеры в этой сети, но они сейчас не существенны).
Александр Мельник
31 октября 2022, 21:18
modx.pro
284
0

🤦‍♂️ Emoji в title

Добрый день.
Возникла необходимость вписывать эти ужасные смайлики в title, description сайта.
О том, что хранение emoji возможно только при кодировке таблицы ut8mb4 знал, заменил кодировку таблицы site_content

Попытка вставлять смайл через админ панель приводит к тому, что в базе сохраняется вместо смайла 4 знака вопроса ????
Попытка вставить смайл напрямую в базу, минуя modx приводит к sql ошибке


не подскажите, что делаю не так?
Александр Мельник
07 сентября 2022, 13:32
modx.pro
515
0

Кеширование, кеширование...

Наверное самая для меня непонятная тема в modx.
Столкнулся с тем, что даже добавление некой уникальной метки к js файлу, который подключен на страницу, не заставляет браузер получить его новую версию.
Подробности.
Базовый шаблон любой страницы.
<!DOCTYPE html>
<html lang="ru">
{include 'head.tpl'}

<body class="main-page">
    <div class="main-wrapper" i>

        {block 'header'}
        {/block}

        {block 'content'}
        {/block}

        {include 'footer.tpl'}
    </div>
    {include 'modals.tpl'}
    {include 'scripts.tpl'}
</body>
</html>
Все что здесь инлюдиться создано как статичные ресурсы.
Есть чанк scripts в котором есть
<script src="assets/a7/js/park.js?v=97.1"></script>
как видно у файла есть версия.
Однако если сменить версию,
Александр Мельник
05 августа 2022, 13:27
modx.pro
1
384
+1

А как получить префикс таблиц?

Добрый день.
Есть способ определить префикс таблиц в базе?
Вижу вот такой пример
$current_prefix = $modx->config['table_prefix'];
но у меня нет такой системной настройки.
Александр Мельник
12 июля 2022, 10:33
modx.pro
384
0

Очень глупый вопрос. А как вы используете синтаксис vue на страницах с fenom?

Хочу использовать на странице vue, но его синтаксис конфликтует с fenom.
Тоесть попытка сделать банальный
<div v-for="car in park">{{car.id}}</div>
убивает страницу из-за {{

Наверняка ведь я не первый столкнулся?
Про то что vue умеет в файловые компоненты и что это наверное решит проблему — знаю, но конкретно здесь не применимо, на хостинге нет node как таковой и не поставить.
Подключил vue самым банальным образом через cdn
Александр Мельник
30 июня 2022, 17:42
modx.pro
883
0

Не могу получить значение placeholder. Тонкости работы парсера?

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

В нем вызывается сниппет (на скрине отображены сразу все варианты вызова, но конечно же я запускал их по одному)
в этом сниппете выставляется плэйсхолдер.
Смотрите скрин.

А ниже в шаблоне я пытаюсь значение получить (там тоже много вариантов написано, но я применял их по одному конечно)
Данные могу получить только через стандартный шаблонизатор, а очень хочется работать с этим плэйсхолдером через fenom, поскольку в коде будет много проверок, условий на наличие тех или иных настроек и хочется использовать ifы foreachи и прочие прелести фенома.

Есть идеи как получить плэйсхолдер в переменную fenom?
Спасибо.
Александр Мельник
30 июня 2022, 11:55
modx.pro
634
0

Кешируются ли файловые сниппеты?

Использую файловые элементы pdoTools, в документации написано что
Файловые сниппеты не кэшируются, но можно включить кэширование скомпилированных шаблонов Fenom, используя настройку pdotools_fenom_cache.
У меня она отключена.
Есть шаблон для ресурса, в нем
{include 'file:templates/category.tpl'}
Внутри category.tpl
{extends 'file:templates/layout.tpl'}
{block 'page'}
{'@FILE filter/filteredProducts.php'|snippet}
{/block}
Внутри filteredProducts.php
echo "hello world";
В системных настройках отключил кеширование
Александр Мельник
03 апреля 2022, 11:45
modx.pro
550
0

и снова у меня проблемы с фильтрацией чисел

Добрый вечер.
Вроде бы уже не раз набивал на этом месте шишки, но видимо не достаточно)
Есть сниппет msProducts.
У него есть параметр
optionFilters Фильтры по опциям товаров. Передаются JSON строкой, например, {"optionkey:>":10}
Есть опция, называется m2, тип число, значение у товара = 1000
Вызов сниппета, с попыткой отфильтровать товары у которых m2 > 600 ничего не выводит, поскольку сравнение значение происходит не как число, а как строка и 600 становится больше 1000.
$result =  $modx->runSnippet('msProducts',[
    'parents'=>0,
    'optionFilters'=>'{"m2:>":600}',
    'tpl'=>'@INLINE <p>[[+pagetitle]]</p>',
    'showLog'=>1
]);
Часть SQL запроса в котором видно, что 600 передается как строка в кавычках
WHERE  ( `msProduct`.`class_key` = 'msProduct' AND `Data`.`price` > '0' AND `m2`.`value` > '600' )
Я уже задавал подобный вопрос и мне любезно подсказали, что нужно смотреть в сторону sql метода CAST() для приведения строки к числу.
modx.pro/help/22471
Тогда я решил задачу другим способом, но сейчас решил все -таки попробовать CAST и честно говоря совсем не получилось.
Вот у Ильи
ilyaut.ru/cheats/sorting-on-tv-number-for-pdoresources/
есть пример
{'pdoResources' | snippet : [
  'tpl' => '@INLINE {$pagetitle} - {$price}',
  'sortby' => '{"CAST(`TVprice`.`value` AS DECIMAL(13,3))":"ASC"}',
  'includeTVs' => 'price'
]}
где в сортировке применяется CAST
Пробую у себя
Александр Мельник
31 марта 2022, 19:41
modx.pro
352
0

про viber, whatsapp и прочее

Нужны мне советы от более молодых и продвинутых коллег.
В жизни я не пользуюсь всеми этими миллионами мессенджеров и отсутствие этого опыта мешает мне сейчас как разработчику. Поэтому, если есть время — просветите меня пожалуйста.
Опишу задачу.
Есть сайт. у него есть менеджеры. Каждый менеджер регистрируется на сайте, вписывает свой номер мобильного. Сайт генерирует разные текстовые сообщения сообщения, их нужно отправить в viber и whatsapp каждому менеджеру, зная только его номер телефона. Есть условие — использование api напрямую, минуя всякие промежуточные сервисы.
1) я правильно понимаю, что
Александр Мельник
26 марта 2022, 15:03
modx.pro
494
0