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

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

C какой страницы оставили заявку modx
Для Formit не хватает на почте информации, с какой страницы пользователь заполнил заявку на обратный звонок
Находил только как сделать с какой id страницы (но это ведь не удобно, заходить в админку и смотреть)
На почте сразу видим, что интересовало клиента, и с каких страниц лучше идет конверсия
Находил только как сделать с какой id страницы (но это ведь не удобно, заходить в админку и смотреть)
На почте сразу видим, что интересовало клиента, и с каких страниц лучше идет конверсия
Проверка файла на существование
Здравствуйте!
Есть много папок и в некоторых может лежать картинка. Папки называю именем id документа.
Хочу проверить на существование картинки в папке.
Все пути вроде верные (вроде!).
Есть сниппет:
1. $filename — "/assets/media/90/schema/schema.png";
2. $dir — «assets/media/90/schema/»;
3. $path — "/ПОЛНЫЙ АДРЕС/САЙТ.РУ/public_html".
$dir пробывал с "/" вначале и без, но результат отрицательный.
Есть много папок и в некоторых может лежать картинка. Папки называю именем 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 пробывал с "/" вначале и без, но результат отрицательный.
Очистка номера телефона
Добрый день, подскажите, нужно текст 8(543)234-2233
перевести в +75432342233
на моих рево… не смог найти…
перевести в +75432342233
на моих рево… не смог найти…
AjaxFormit. Не выводится плейсхолдер [[+fi.successMessage]] в нужном мне месте
Всем привет, не могу разобраться с проблемой — не выводится плейсхолдер [[+fi.successMessage]] в нужном мне месте.
Этот плейсходр выводится в уведомлениях jGrowl, сообщение вижу, форма отправляется, тут все хорошо.
Но как вывести [[+fi.successMessage]] внутри формы не пойму, на месте вывода просто пусто.
Этот плейсходр выводится в уведомлениях jGrowl, сообщение вижу, форма отправляется, тут все хорошо.
Но как вывести [[+fi.successMessage]] внутри формы не пойму, на месте вывода просто пусто.
Подружить SeoFilter и Polylang
Здравствуйте. Может у кого был опыт. Как сделать красивые Мета-теги для обоих версий сайта ru & uk?
Основная версия сайта на uk, на ней SeoFilter и работает, переключаюсь на ru и всё… правила слетают.
Возможно подключатся авторы двух мощных компонентов :)
Основная версия сайта на uk, на ней SeoFilter и работает, переключаюсь на ru и всё… правила слетают.
Возможно подключатся авторы двух мощных компонентов :)
Минимальная стоимость доставки в плейсхолдере
Доброго дня. Появилась задача дать возможность менеджерам менять максимальную сумму бесплатной доставки. В настройки минишопа пускать не хочется их.

Есть ли какой-нибудь вариант вынести это число в системную настройку или TV?

Есть ли какой-нибудь вариант вынести это число в системную настройку или TV?
[СДЕЛАЙ САМ] 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 Как лучше для скорости загрузки создавать чанки и шаблоны?
Приветствую, поделитесь опытом пожалуйста. Пользуюсь MODX Revolution в связке с FENOM.
Всегда стоял вопрос, как лучше создавать чанки и шаблоны.
1 Создавать в системе и отмечать чек как СТАТИЧНЫЙ и указывать пусть к файлу my_chunk.tpl в файловой системе с последующим вызовом таким образом {include 'my_chunk'}
2 Создавать сразу в файловой системе минуя базу данных, и сразу вызывать в нужном месте как
{include 'file:chunks/my_chunk.tpl'}
Как быстрее будет работать система? Или разницы нет?
Всегда стоял вопрос, как лучше создавать чанки и шаблоны.
1 Создавать в системе и отмечать чек как СТАТИЧНЫЙ и указывать пусть к файлу my_chunk.tpl в файловой системе с последующим вызовом таким образом {include 'my_chunk'}
2 Создавать сразу в файловой системе минуя базу данных, и сразу вызывать в нужном месте как
{include 'file:chunks/my_chunk.tpl'}
Как быстрее будет работать система? Или разницы нет?
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]
]
]
]}
Делаю вывод товаров в подкатегории по 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]
]
]
]}