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

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
так а где пакет-то купить можно?
Pandemic
14 февраля 2024, 11:57
0
Получилось, можете ещё подсказать при клике на ссылку, обычную ни одного атрибута нет, не переходит, клик просто игнорируется, если перейду по ссылке вручную, то всё работает, но при ручном клике именно на ссылку не работает.

В консоли ничего нет, в админке тоже пусто.
Наумов Алексей
14 февраля 2024, 11:32
+1
Уберите Fenom синтаксис из значения параметра pageLinkScheme, напишите как в доке.

Значение параметра не обрабатывается парсером, а просто заменяются плейсхолдеры.
Володя
14 февраля 2024, 11:05
+1
Все верно, но никто же не застрахован что в какой то момент времени твой сайт не подвергнется скажем атаке ботов и запрос без лимита будет вызывать задержки при работе сайте.
пока идет запрос удаления новый пользователь не получит новый идентификатор сессии, уже действующий пользователь тоже словит задержку и будет нервно курить и в итоге закроет сайт.

Так вот чтобы не было тормозов я и решил ввести limit, нам же не принципиально очистить таблицу за один проход.

А в smartSessions медленная работа, думается, обусловлена LIKE поиском по колонке user_agent во время очистки и отсутствием индекса))) нужно добавить
да, это ускорит удаление, но не сильно, в случае с большим кол-ом данных думаю будут те же тормоза что я описал выше.