Konstantin

Konstantin

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

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

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

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

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

Подскажите кто разобрался в плагине правильно ли я делаю или есть способ без проверки на основной язык?
Konstantin
03 сентября 2023, 10:20
modx.pro
742
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 однако в нем нет никаких полей для ввода ключей

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

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

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

Modx 2.8.4
Konstantin
18 января 2023, 19:55
modx.pro
409
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
Konstantin
10 января 2023, 23:58
modx.pro
847
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, ));
нужно подставить еще один параметр — со значением Аренды или Продажи… Но своих знаний маловато как это сделать… Буду благодарен за любую помощь )
Konstantin
29 декабря 2022, 23:35
modx.pro
957
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);
Может быть есть какое-то более рациональное и простое решение о котором я не знаю?
Konstantin
24 декабря 2022, 17:13
modx.pro
1 231
0