Всего 123 782 комментария

Pandemic
16 февраля 2024, 07:28
1
0
Довольно странно, раз есть человека понятная навигация, то почему нет аякс режима из коробки? Ведь проще простого оказалось.

А так же не прокидываются доп переменные в кфг, допустим той же переменной «pageLinkScheme» нет, так можно было бы зацепиться за неё, и просто в инит методе определить схему регулярки.

Поскольку не нашёл(не долго искал) как прокинуть свою переменную в джс с админки в pdopage конфиг, то просто везде регулярку заменил со знака "=" на "-" согласно моей навигации, само собой подключив кастомный скрипт копии самого pdopage.

Заменил везде "=(\\d+)" на "-(\\d+)" и всё заработало…
Евгений Шеронов
16 февраля 2024, 00:01
+2
Всё я знаю :)

Если конечно, буду делать SeoFilter PRO, то туда как раз и добавлю построение фильтров на фронт, так как почти всё для этого уже есть даже в базовой версии.
Артур Шевченко
15 февраля 2024, 23:06
0
Есть мнение, что письмо парсится в контексте админки и соответственно с cultureKey из админки. Я бы вызвал так
'fiarTpl'=>('FormItAutoResponderTpl'~$_modx->config.cultureKey),
И на каждый язык сделал бы отдельный чанк письма.
Vladyslav
15 февраля 2024, 19:48
0
а вот поле fiarTpl', которое отвечает за автоответ
<h3>[[%mmix.respH? &namespace=`!diamant` &language=`[[++cultureKey]]`]], [[+name]]!</h3>
<p>[[%mmix.respText? &namespace=`!diamant` &language=`[[++cultureKey]]`]] <a target="_blank" href="[[+pageUrl]]">[[+pageUrl]]</a></p>

<table>
<tr valign="top"><td><b>[[%mmix.formName? &namespace=`!diamant` &language=`[[++cultureKey]]`]]:</b></td><td>[[+name]]</td></tr>
<tr valign="top"><td><b>Email:</b></td><td><a href="mailto:[[+email]]">[[+email]]</a></td></tr>
<tr valign="top"><td><b>[[%mmix.formTel? &namespace=`!diamant` &language=`[[++cultureKey]]`]]:</b></td><td><a href="tel:[[+tel]]">[[+tel]]</a></td></tr>
[[+msg:!empty=`<tr valign="top"><td><b>[[%mmix.formMsg? &namespace=`!diamant` &language=`[[++cultureKey]]`]]:</b></td><td>[[+msg]]</td></tr>`]]
</table>
<p>[[%mmix.respTextBottom? &namespace=`!diamant` &language=`[[++cultureKey]]`]]</p>
Денис Усманов
15 февраля 2024, 15:49
0
Часто задаваемый вопрос, и судя по всему решение «лежит» в файлах компонента, в сис. настройках ничего связанного с этим нет… Если найду решение, напишу сюда обязательно.
Артур Шевченко
15 февраля 2024, 14:37
0
Хорошо. Уговорил. Напишу свой вариант. Потом когда-нибудь.
alexandr.skyrda
15 февраля 2024, 14:28
0
спасибо, буду пробовать
myData
15 февраля 2024, 14:26
0
Денис, спасибо видимо проблема в браузере хром. в яндексе появилось.

Можно еще вопрос, как отключить автоматическое форматирования исходного кода.

Например вставляю в исходный код
<div class="alert alert-primary" role="alert">
  A simple primary alert—check it out!
</div>
Выхожу, захожу обратно в исходный и получается
<p>A simple primary alert—check it out!</p>
Пробовал в конфиг прописать
config.allowedContent= 'true';
config.allowedContent = true;
config.extraAllowedContent= 'true';
Не помогает
Павел Романов
15 февраля 2024, 14:25
+1
Да, естественно. Можно добавить в скрипт:
<?php
$tvid = 123; // ID TV-шки
$vendor = 'Производитель' // Название производителя
$template = 6; // ID шаблона товара

if(!function_exists('removeDirectory')){
    function removeDirectory($dir){
        if ($objs = glob($dir."/*")) {
            foreach($objs as $obj) {
                is_dir($obj) ? removeDirectory($obj) : unlink($obj);
            }
        }
        rmdir($dir);
    }    
}

$sql = "SELECT * FROM {$modx->getTableName('modTemplateVarResource')} WHERE tmplvarid = {$tvid}"; 
$q = $modx->prepare($sql);
$q->execute();
$tvs = $q->fetchAll(PDO::FETCH_ASSOC);
foreach($tvs as $tv) {
    if($tv['value'] != $vendor) continue; // если название не то, пропускаем
    if(!$resource = $modx->getObject('modResource', array('id' => $tv['contentid'], 'template' => $template)) continue; // если нет ресурса с таким ID и шаблоном, пропускаем
    $dir = MODX_ASSETS_PATH.'images/products/'.$tv['contentid'].'/';
    removeDirectory($dir);    
    $resource->remove(); // удаляем ресурс
}
alexandr.skyrda
15 февраля 2024, 14:12
0
добрый день, спасибо за ответ, а проблема с изображениями в галерее тоже будет как здесь https://modx.pro/help/22639
что они не удаляются?
myData
15 февраля 2024, 13:49
0
Да, но после этого редактор не запускается вообще

Uncaught TypeError: CKEDITOR.tools.object.keys is not a function
    at Object.setHighlighter (plugin.js?t=1.4.5-pl:51:28)
    at Object.afterInit (plugin.js?t=1.4.5-pl:134:10)
    at Object.<anonymous> (ckeditor.js?v=1.4.5-pl:4830:45)
    at e (ckeditor.js?v=1.4.5-pl:4488:48)
    at Array.y (ckeditor.js?v=1.4.5-pl:4493:105)
    at x (ckeditor.js?v=1.4.5-pl:4498:64)
    at ckeditor.js?v=1.4.5-pl:4511:41
Денис Усманов
15 февраля 2024, 13:15
0
В сис. настройках в ckeditor.extra_plugins дописывал codesnippet?
Pandemic
15 февраля 2024, 12:26
0
Да, оно работало до того как я добавил Человека понятную навигацию, аякс загрузка работала, после уже не работает именно аякс загрузка, если перейти по ссылке вручную то страницу отработает как положено.
Павел Романов
15 февраля 2024, 12:20
0
Все ID и классы оберток присутствуют?
По умолчанию должно быть так:
<div id="pdopage">
    <div class="rows">
        [[!pdoPage?
            /// параметры
        ]]
    </div>
    [[!+page.nav]]
</div>
Павел Романов
15 февраля 2024, 12:09
1
0
Что-то типа этого (бэкап базы только сделайте):
<?php
$tvid = 123; // ID TV-шки
$vendor = 'Производитель' // Название производителя
$template = 6; // ID шаблона товара

$sql = "SELECT * FROM {$modx->getTableName('modTemplateVarResource')} WHERE tmplvarid = {$tvid}"; 
$q = $modx->prepare($sql);
$q->execute();
$tvs = $q->fetchAll(PDO::FETCH_ASSOC);
foreach($tvs as $tv) {
	if($tv['value'] != $vendor) continue; // если название не то, пропускаем
   	if(!$resource = $modx->getObject('modResource', array('id' => $tv['contentid'], 'template' => $template)) continue; // если нет ресурса с таким ID и шаблоном, пропускаем
	$resource->remove(); // удаляем ресурс
}
Николай Савин
15 февраля 2024, 07:33
0
Там на компоненте уже года два пометка на удаление стоит.
Насколько я знаю, Женя давно задумал seoFilter Pro и опять же есть некое наитие, что работа скоро начнется.
myData
14 февраля 2024, 23:24
0
Спасибо все встало без проблем. Крутая подборка.
Но есть одни вопрос как поставить плагин
Code Snippet
уже все перерыл не появляется иконка.

Спасибо
Алексей Смирнов
14 февраля 2024, 21:49
0
Я бы подошел к вопросу с другой стороны.
А в какой момент вам нужны эти данные?
Если просто запустить какой-то отдельный скрипт и сделать свои дела — одно.
Если вам нужно взаимодействовать с объектами MODX и, например, проверять уровень привелегий, доступов и прочей ереси, то через MODX.
А сниппет — это тот же php, но вызванный где-то в середине страницы. В этом случае можно сразу вызвать в сниппете. Если, допустим данные которые будут отображены снипетом очень долго получаете, то иногда люди делают через ajax загрузку, чтобы сэкономить время загрузки основной страницы.
Те вы понимаете, что просто отвечать на ваш вопрос не получиться, необходимо знать еще и место и «куда чего-данные».
Сергей
14 февраля 2024, 17:38
0
так а где пакет-то купить можно?