Вопросы

Удалить кавычки из alt minishop2

Может кто сталкивался с такой проблемой. У заголовков есть кавычки, я этот заголовок использую для alt в выводе товаров в каталоге в таком формате
alt="[[+pagetitle]]"

На странице товара все решаемо через fenom, но не в категории.
Очень странно, что работает исключительно [[+pagetitle]]

Я пробовал на fenom но вообще ни чего не выводится.
Пробовал так:
[[+name:stripString=`Mr.`]]
И
[[+pagetitle:replace=`Mr.==Mrs.`]]

Может есть как-то решение?
Сергей
04 июля 2024, 16:03
modx.pro
443
0

Странные приколы с дублированием плагинов при переустановке компонентов

Заметил, при переустановке компонентов появляются дубликаты плагинов, относящихся к ним:
https://disk.yandex.ru/i/GRdSfs8_dm-efw
Это странно. Заметил это, когда недавно переустановил msProductRemains и остатки товаров стали списываться дважды так, что остаток уходил в минус. Ну и вот еще, как на скрине, с msImportExport то же самое случилось. Т.е. это не от конкретных компонентов зависит, а от MODX в целом. Похоже на баг…
Сниппеты и чанки при этом не дублируются.
Версия MODX 2.8.7
Владимир
04 июля 2024, 15:44
modx.pro
123
0

Условие на значение опции товара на странице товара minishop2

Подскажите пожалуйста, вроде простой вопрос, но ни как не соображу как написать на fenom
Так работает
[[+myoptions.value:is=`Test`:then=`Да`:else=`Нет`]]
Сергей
04 июля 2024, 10:41
modx.pro
248
0

GET параметры в hreflang

Здравствуйте, для генерации alternate hreflang использую такую конструкцию
[[!BabelLinks? &tpl=`tpl.BabelLink2` &showCurrent=`1` &ignoreSiteStatus=`1` &includeUnlinked=`0` &showUnpublished=`0`]]
а в чанке tpl.BabelLink2
<link rel="alternate" href="[[+url]]" hreflang="[[+cultureKey]]"/>
Проблема заключается в том, что сюда могут добавлятся гет параметры, хотя на других проектах они отсекаются.
<link rel="alternate" href="https://test.com/tehnicheskaja-podderzhka/?sadsds=" hreflang="ru">
Из-за этого ошибки в сео, что тут можно сделть?
Использую одну и ту же версию babel, но проблема остается.
Vladyslav
03 июля 2024, 15:46
modx.pro
237
0

miniShop2 неверно отображаются категории на странице товара

Всем привет.
Столкнулся со следующей проблемой: в ресурсе товара, во вкладке категории неправильно отображается дерево ресурсов. Категории, которые там раньше отображались корректно, cейчас не видны.


В журнале ошибок есть такая запись:


Если ошибка связана с проблемой, то как устранить данную ошибку?
В БД таблицы с названием «ms2_category_options» я не вижу.
Дмитрий
03 июля 2024, 12:46
modx.pro
1 528
0

php + Tv's

Добрый день, столкнулся с такой проблемой, может кто подскажет?
Есть php код
<?php



$category = $for = $out = '';



$imgs = [];



if( isset($_POST['category']) && $_POST['category'] && ctype_digit($_POST['category']) ){$category = $_POST['category'];}



if( isset($_POST['for']) && $_POST['for'] && ctype_digit($_POST['for']) ){$for = $_POST['for'];}



$id_resource = $modx->getTemplateVarOutput(array('id_resource_photo'), 5)['id_resource_photo'];


$id_resource_arr = explode(',',  $id_resource);


if ($category){



	$imgs = json_decode($modx->getTemplateVarOutput(array('imgs_1'), $category)['imgs_1'],true)['fieldValue'];



}else{

		if($page == 'other'){ //ограничение - 5 элементов на главной



				$arr = json_decode($modx->getTemplateVarOutput(array('imgs_1'), $id_resource_arr[$i])['imgs_1'],true)['fieldValue'];



				if(is_array($arr))



					$imgs = $arr;

		} else {

			foreach ($id_resource_arr as $id) {



				$arr = json_decode($modx->getTemplateVarOutput(array('imgs_1'), $id)['imgs_1'],true)['fieldValue'];



				if(is_array($arr))



					$imgs = array_merge($imgs, $arr);



			}

		}



}

?>
который должен фильтровать по 2ум критериям, которые выбираются на сайте 2мя выпадающими списками (собственно category и for) при выборе только category, все работает, но при выборе for выводится сообщение о том, что подходящие изображения не найдены category — категория в которой нужно найти подкатегорию for.

(вывод изображений):

<?php



				if($imgs){



					foreach ($imgs as $i){



						if(isset($i['photo']) || isset($i['photo1']) || isset($i['photo_webp'])){



							$photo = (isset($i['photo']) && $i['photo']) ? $i['photo'] : $i['photo1']; 



							$photo_crop = $modx->runSnippet('phpthumb', ['input'=>$photo, 'options'=>'w=348,h=261,zc=C']);



							$photo1 = (isset($i['photo1']) && $i['photo1']) ? $i['photo1'] : $i['photo'];

							$photo_webp = isset($i['photo_webp']) ? $i['photo_webp'] : '';

							if($for){



								if(isset($i['for']) && $i['for']){



									$fors = explode(',', $i['for']);



									if(in_array($for, $fors)){



										$out .= '<a href="'.$photo1.'" data-lightbox="img"><img src="'.$photo1.'" loading="lazy" alt="'.$i['title'].'"></a>';



									}



								}



							}else{ //echo $photo_webp;

								// print_r($i);

								$srcset = !empty($photo_webp) ? 'data-srcset="'.$photo_webp.'"' : '';

								$cr = empty($photo1) ? $photo_webp : $photo1;

								$crop = $modx->runSnippet('phpthumb', ['input'=>$cr, 'options'=>'w=1000,h=1000,zc=C']);

								

								$out .= '<div><a class="block_gallery-item" href="'.$photo_webp.'" data-fancybox="img" '.$srcset.'>';

								if (empty($photo_webp)) {

									$crop = $modx->runSnippet('phpthumb', ['input'=>$cr, 'options'=>'w=348,h=261,zc=C']);

									$out .= '<img src="'.$crop.'" loading="lazy" alt="'.$i['title'].'">';

								}

								else { 



									$alt = explode('/', $photo_webp);



									// if ($alt[2] = "svetovoj") {

									// 	$alt[2] = "Световые потолки";

									// }



									$cr = empty($photo1) ? $photo_webp : $photo1;

									$crop = $modx->runSnippet('phpthumb', ['input'=>$cr, 'options'=>'w=348,h=261,zc=C']);



									$out .='

									<picture>

										<source srcset="'.$photo_webp.'" type="image/webp">

										<img src="'.$photo_webp.'" alt="'.$alt[2].'">

									</picture>';

								}

								$out .=	'</a></div>';



							}



						}



					}



				}



				echo $out ? $out : '<p class="bold-text">Подходящих результатов не найдено.</p>';



			?>
id_resource_photo — строка с id страниц «123, 234, 345» такого типа, на изображениях которые нужно вставить чекбоксом выбирается подкатегория
Ilua
01 июля 2024, 21:34
modx.pro
249
0

Заполнение полей и ТВ полей в ресурсах из сторонней БД

Приветствую. Есть задача создать однотипные сайты авто тематики на разные страны. Решили не объединять всё в одну админку, а разносить на разные БД, одна админка = 1 сайт. Есть эталонная база модификаций авто, в которой по сути, некоторая информация меняется только переводом на другой язык.
Роман
29 июня 2024, 13:31
modx.pro
439
0

Работа phpthumbon c AWS

Подскажите работает ли phpthumbon с AWS из коробки? Или нужно будет дорабатывать. Вопрос стоит именно в генерации нужных размеров изображений, сейчас генерация происходит при первом обращении к изображению и если его нет, то происходит создание превью и тд, если есть то берется из кэша. А как это будет если использовать хранилище CDN?

Возможно глупый вопрос, но буду очень благодарен за объяснения!
Вячеслав Варов
25 июня 2024, 13:58
modx.pro
402
0

cityFields заваливает лог ошибками

Журнал ошибок постоянно забивается такими сообщениями:
[2024-06-24 03:06:33] (ERROR @ .../core/xpdo/xpdo.class.php: 645) Could not load class: cfField from mysql.cffield.
[2024-06-24 03:06:33] (ERROR @ .../core/xpdo/xpdo.class.php: 763) cfField::load() is not a valid static method.
При этом компонент cityFields вроде как работает нормально в местах вызова его сниппетов. Куда копать? Может какие-то настройки сбились?
Владимир
24 июня 2024, 03:20
modx.pro
255
0

sendIt вопросы по реализации некоторых задач

Отличное дополенние. На самом деле если разобраться, то настраивается быстрее и проще чем старый ajaxform.
Наверняка это все есть в документации, но она что-то не очень удобная, точнее обширная. Например, я не увидел все параметры которые можно указать форме data-si-*.
Остальное под катом
Ivan
23 июня 2024, 20:22
modx.pro
435
0