Альфа релиз альтернативной админки для MODX

Всем привет!

В продолжение недавней дискуссии публикую то, что удалось сделать за два дня (точнее за 23 часа).



Fi1osof
11 апреля 2021, 14:11
modx.pro
4
2 584
+17

C какой страницы оставили заявку modx

Для Formit не хватает на почте информации, с какой страницы пользователь заполнил заявку на обратный звонок
Находил только как сделать с какой id страницы (но это ведь не удобно, заходить в админку и смотреть)

На почте сразу видим, что интересовало клиента, и с каких страниц лучше идет конверсия
Игорь
11 апреля 2021, 09:28
modx.pro
814
0

Проверка файла на существование

Здравствуйте!
Есть много папок и в некоторых может лежать картинка. Папки называю именем id документа.
Хочу проверить на существование картинки в папке.
Все пути вроде верные (вроде!).

Есть сниппет:
[[!checkSchema?
    	&dir=`assets/media/[[+id]]/schema/` // к примеру id = 90, то поиск должен быть в assets/media/90/schema/
    	&tpl=`mailFileInputTpl` // Это соответственно шаблон вывода в случае True
    ]]
Сам сниппет:
$dir;
$tpl;
$path = $_SERVER['DOCUMENT_ROOT']; // Проверяю может не там поиск, но адрес идет до САЙТ.РУ/public_html , т.е. вроде верно

$filename = '/' . $dir . 'schema.png'; // соответственно файл, который ищу в папке
if (file_exists($filename)) {
  return $modx->getChunk($tpl, $filename);
} else {
  return 'НЕТ СХЕМЫ! ---/ ' . $filename . ' /---/ ' . $dir . ' /---' . $path;
}
Вот что возвращается:
1. $filename — "/assets/media/90/schema/schema.png";
2. $dir — «assets/media/90/schema/»;
3. $path — "/ПОЛНЫЙ АДРЕС/САЙТ.РУ/public_html".
$dir пробывал с "/" вначале и без, но результат отрицательный.
Rasul
10 апреля 2021, 18:52
modx.pro
996
0

Очистка номера телефона

Добрый день, подскажите, нужно текст 8(543)234-2233
перевести в +75432342233

на моих рево… не смог найти…
Игорь
10 апреля 2021, 17:59
modx.pro
840
0

AjaxFormit. Не выводится плейсхолдер [[+fi.successMessage]] в нужном мне месте

Всем привет, не могу разобраться с проблемой — не выводится плейсхолдер [[+fi.successMessage]] в нужном мне месте.
Этот плейсходр выводится в уведомлениях jGrowl, сообщение вижу, форма отправляется, тут все хорошо.
Но как вывести [[+fi.successMessage]] внутри формы не пойму, на месте вывода просто пусто.
Сергей Карпович
10 апреля 2021, 16:18
modx.pro
1 015
0

Подружить SeoFilter и Polylang

Здравствуйте. Может у кого был опыт. Как сделать красивые Мета-теги для обоих версий сайта ru & uk?

Основная версия сайта на uk, на ней SeoFilter и работает, переключаюсь на ru и всё… правила слетают.

Возможно подключатся авторы двух мощных компонентов :)
Роман
10 апреля 2021, 12:42
modx.pro
1 207
0

Минимальная стоимость доставки в плейсхолдере

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


Есть ли какой-нибудь вариант вынести это число в системную настройку или TV?
Александр
10 апреля 2021, 08:04
modx.pro
887
0

[СДЕЛАЙ САМ] DaData. Определение города по ip

Сниппет называется detectRegion. Для работы необходимо зарегистрироваться на сайте DaData и создать системную настройку для ключа api с названием dadata_api_key
<?php
$url = 'https://suggestions.dadata.ru/suggestions/api/4_1/rs/iplocate/address';
$siteIsAvaliable = $modx->runSnippet('isSiteAvailible', array('url' => $url));
if($siteIsAvaliable){
    $token = $modx->getOption('dadata_api_key');
    $ip = $_SERVER['REMOTE_ADDR'];
    $headers = array(
    	'Accept: application/json',
    	'Authorization: Token ' . $token
    );
    $ch = curl_init($url.'?ip='.$ip);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_HEADER, false);
    $result = json_decode(curl_exec($ch),1);
    curl_close($ch);
    $region = $result['location']['data']['city'];
    return  $region;
}else{
    $modx->log(1, 'detectRegion: Не возможно определить регион. Сервис DaData недоступен');
    return false;
}
P.S. isSiteAvailible
Артур Шевченко
09 апреля 2021, 23:28
modx.pro
5
1 943
+3

Как лучше для скорости загрузки создавать чанки и шаблоны?

Приветствую, поделитесь опытом пожалуйста. Пользуюсь MODX Revolution в связке с FENOM.
Всегда стоял вопрос, как лучше создавать чанки и шаблоны.

1 Создавать в системе и отмечать чек как СТАТИЧНЫЙ и указывать пусть к файлу my_chunk.tpl в файловой системе с последующим вызовом таким образом {include 'my_chunk'}

2 Создавать сразу в файловой системе минуя базу данных, и сразу вызывать в нужном месте как
{include 'file:chunks/my_chunk.tpl'}

Как быстрее будет работать система? Или разницы нет?
Роман
09 апреля 2021, 16:45
modx.pro
1 031
0

HitsPage

Добрый день.

Делаю вывод товаров в подкатегории по HitsPage товаров, пропадает все таблица с товарам, как правильно прописать 'sortby' по TV полю HitsPage

{'!pdoPage' | snippet: [
'class' => 'msProduct',
'element' => 'msProducts',
'limit' => 20,
'ajaxMode' => 'default',
'select' => 'id,uri,pagetitle',
'tpl' => '@FILE chunks/catalog/item.tpl',
'sortby' => 'HitsPage',
'sortdir' => 'desc',
'frontend_css' => '',
'loadModels' => 'msTopProducts',
'leftJoin' => [
'msTopProduct' => [
'class' => 'msTopProduct',
'alias' => 'msTopProduct',
'on' => ['msTopProduct.product_id = msProduct.id', 'msTopProduct.category_id' => $_modx->resource.id]
]
]
]}

Анатолий
09 апреля 2021, 13:10
modx.pro
727
0