Konstantin

Konstantin

С нами с 24 декабря 2022; Место в рейтинге пользователей: #990

Подключить Localizator в сниппет

Здравствуйте, вопрос по плагину Localizator (сразу хочу сказать что плагин отличный и все задачи выполняет).

У меня есть сниппет который с помощью PdoResources фильтрует ресурсы согласно выбранному хештегу. Хэштеги это набор значений который задается через TV для каждого ресурса и языка. В упрощенном виде сниппет работает так:

$params = array(
	'parents' =>  '4,6,7',
	'limit' => '9',
	'offset' => '0',
	'tpl' => 'MyChunk',
	'select' => 'id,pagetitle,publishedon,uri',
	'includeTVs' => 'hashTagEn, hashTagNl, hashTagRu, ImageTV',
	'where' => '[{"hashTagRu:LIKE":"%Test%"}]',
);
return $modx->runSnippet('pdoResources',$params);
Сейчас сниппет выводит заголовки ресурсов на основном языке в независимости от языка сайта,
ВОПРОС в том как подключить сюда Localizator чтобы заголовки подхватывались на основе заданного языка?
09 ноября 2023, 13:46
modx.pro
691
0

Хостинг ругается на файл ядра phpthumb.class.php

Здравствуйте, запустил сайт на Modx 3.0.3 на хостинге Dreamhost.com и спустя неделю сайт перестал работать. Оказалось что хостинг нашел подозрительным файл встроенный в движок phpthumb.class.php так вот они дали ему права 200 и тем самым вызвав фатальные ошибки в работе движка.

Вот их пояснения:

We have identified malicious content on your account, added by an outside
entity, which may include malware such as backdoor shells, adware, botnet,
and spammer scripts.

The following file(s) specifically have been identified as attacker-added
malware. We have DISABLED these files by setting their permissions to 200
(Owner write-only). You will need to audit these files and either replace
them with known good versions or remove them altogether:

.../core/vendor/james-heinrich/phpthumb/phpthumb.class.php
Что-то можно с эти сделать?
15 сентября 2023, 17:39
modx.pro
893
0

Контент основного языка в Localizator

Приветствую!

Настраиваю плагины Localizator, делаю основной язык Русский и дополнительных 2, затем у ресурсов заполняю на основном языке стандартные поля, а во вкладке Локализации перевод для других двух.

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

Подскажите кто разобрался в плагине правильно ли я делаю или есть способ без проверки на основной язык?
03 сентября 2023, 10:20
modx.pro
978
0

Плагин reCaptchaV3 работает ли с Modx 3?

Здравствуйте, на сайт под Modx 3 установил плагин reCaptchaV3 однако в процессе установки в консоле показались ошибки:

PHP warning: Trying to access array offset on value of type null
PHP warning: Trying to access array offset on value of type null
xPDOVehicle does not support resolvers of type.
Успешно установлен пакет recaptchav3-1.0.7-beta
В системных настройках вижу появился раздел reCaptchaV3 однако в нем нет никаких полей для ввода ключей

Буду благодарен за любой совет
09 августа 2023, 08:09
modx.pro
1 111
0

Почему после отключения анонимных сессий не пускает в админку

Здравствуйте, такое дело, у меня на фронте нет никаких регистраций и онлайн кабинетов, поэтому я подумал что мне незачем засорять базу данных анонимными сессиями и выключил эту опцию в настройках сайта. В результате у других менеджеров не получается войти в админку сайта, после ввода логина и пароля форма входа остается на своем месте и не пускает в админку. Включил обратно анонимные сессии и менеджеры смогли войти в админку.
Интересно как связаны анонимные сессии с админкой?

Modx 2.8.4
18 января 2023, 19:55
modx.pro
607
0

Превью генерируется, но появляется ошибка pthumb в логах

Здравствуйте, использую плагин pthumb-2.3.3-pl для генерации превьюшек, все генерируется, но в логах вижу ошибки такого типа:

(ERROR @ /home/nalproperti/domains/nalproperti.com/public_html/core/components/phpthumbof/model/phpthumbof.class.php : 238) PHP warning: is_readable(): open_basedir restriction in effect. File(/ru/assets/images/apt1.jpg) is not within the allowed path(s): (/home/nalproperti/domains/nalproperti.com/:/home/nalproperti/domains/include/:/etc/pki/tls/certs:/tmp:/var/tmp:/usr/local/lib/php/:/usr/local/php74/lib/php/:/usr/local/php0/lib/php/)
Подскажите пожалуйста что можно сделать с этим?
что прописать в open_basedir на сервере? пробовал none не помогает

Вот мои настройки плагина:


Вот настройки источника файлов:


php 7.4
pthumb-2.3.3-pl
Modx 2-8-4
10 января 2023, 23:58
modx.pro
1 172
0

Вывести значения только используемых TV в ресурсах по двум параметрам

Здравствуйте, делаю Ajax фильтр, с поиском по TV полям выглядит это так:


Опции формируются сниппетом, который собирает только используемые значения TV полей со всех ресурсов, объединяя дубли, вот код сниппета:

<?php
// $tvid = 7; // id нужного ТВ параметра
$res = array(); // Сюда забиваем результаты
$counter = 1;
$output = '';
$q = $modx->newQuery('modTemplateVarResource', array('tmplvarid' => $tvid, ));
$q->select('value');
$q->groupby('value'); // исключаем дубли
if ($q->prepare() && $q->stmt->execute()) {
	while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
		$res[$counter] = $row['value'];
		$counter++;
	}
}
foreach($res as $val){
   $output .= '<option value="'.$val.'">'.$val.'</option>';
}
echo $output;
Все работало нормально до тех пор как не было добавлено новое TV поле с двумя значениями Аренда==1||Продажа==2 и теперь фильтр для аренды должен отобразить только значения используемых TV ресурсов согласно этому новому полю, т.е. идея в том чтобы фильтр не показывал опции ресурсы которых «для продажи» и наоборот.

Подскажите пожалуйста как для этого изменить сниппет? Догадываюсь что в запрос
$q = $modx->newQuery('modTemplateVarResource', array('tmplvarid' => $tvid, ));
нужно подставить еще один параметр — со значением Аренды или Продажи… Но своих знаний маловато как это сделать… Буду благодарен за любую помощь )
29 декабря 2022, 23:35
modx.pro
1 194
0

Как вывести в шаблоне ресурса TV поле типа List c Options/Values

Здравствуйте, я недавно с Modx поэтому прошу совета знатоков

В документации про типы TV полей сказано что я могу для типа ввода List указать раздельно значения Options/Values таким образом:

Option 1==value1||Option 2==value2
Однако по умолчанию плейсхолдер [[*FieldTV]] выводит название опции, и я ни как не могу найти информацию про то как получить именно value выбранной опции.

Я начал велосипедить и в сниппете получать сначала все значения поля List, затем получать выбранное значение, затем путем сравнивавания циклом проходить по массиву и тд, и все это только чтобы получить одно значение value.
<?php
function searchValue($option, $array) {
   foreach ($array as $key => $val) {
       if (strpos($val, $option) !== false) {
            $el = explode('==',$val);
            echo $el[1];
        }
   }
   return null;
}

$tvtag = 'MyFieldTV';
$pageid = '38';
$tv = $modx->getObject('modTemplateVar',array('name'=>$tvtag));

//  все опции
$options = explode('||',$tv->get('elements'));

// ключ опции выбранный в ресурсе
$optionKey = $tv->getValue($pageid);

echo searchValue($optionKey,$options);
Может быть есть какое-то более рациональное и простое решение о котором я не знаю?
24 декабря 2022, 17:13
modx.pro
1 446
0