Илья

Илья

Был в сети 28 декабря 2018, 16:36
Заказы не принимаю
Не претендую на звание лучшего ответа, но можно сделать простую проверку на массив и переназначить переменную $html. Я посмотрел, в массиве походу есть только 2 значения и второе — пустое.
В файле \core\model\modx\modx.class.php примерно 1859 строка, перед строкой:
$stripped= strip_tags($html, $allowed);
Добавить:
if(is_array($html)){
    $html = $html[0];
}
Полный вид функции:
public function stripTags($html, $allowed= '', $patterns= array(), $depth= 10) {
	if(is_array($html)){
		$html = $html[0];
	}
        $stripped= strip_tags($html, $allowed);
        if (is_array($patterns)) {
            if (empty($patterns)) {
                $patterns = $this->sanitizePatterns;
            }
            foreach ($patterns as $pattern) {
                $depth = ((integer) $depth ? (integer) $depth : 10);
                $iteration = 1;
                while ($iteration <= $depth && preg_match($pattern, $stripped)) {
                    $stripped= preg_replace($pattern, '', $stripped);
                    $iteration++;
                }
            }
        }
        return $stripped;
}
Используйте в шаблоне параметра tplParentRow запись вида:

[[+id:is=`№ ресурса`:then=`дизайн №1`:else=`дизайн №2`]]
Т.е. вид в меню ссылки с дочерними ресурсами для одного ресурса будет «дизайн №1», а для других «дизайн №2»

PS. Для tplParentRow шаблон задавать чанком нужно будет

Надеюсь помог.
Нужно создать плагин на событие OnDocFormSave
и в нем что-то типа этого:
<?php
if ($mode == 'new') {
  if ($resource->get('content')) {
    $contentext = preg_replace('/<span[^>]*>(.*)<\/span>/Ui', '\\1', $resource->get('content'));
    $contentext = preg_replace('~style="[^"]*"~i', '', $contentext);
    $resource->set('content', $contentext);
    $resource->save();
    }
  }
Спасибо за разъяснения. Очень помогли. В доках оказывается есть подобное, но не сразу было понятно.
Может кому пригодится, если нужно сделать сортировку по опциям товара miniShop2:
2 поля size_h и color_id, которые нам надо отсортировать
&leftJoin=`
	{
            "size_h":{
                "class":"msProductOption",
                "on":"size_h.product_id = msProduct.id AND size_h.key = 'size_h'"
            },
            "color":{
                "class":"msProductOption",
                "on":"color.product_id = msProduct.id AND color.key = 'color_id'" 
            }
        }`
&sortAliases=`{"size_h":"size_h","color":"color"}` // добавляем псевдоним
&sort=`size_w|value:desc,color|value:asc`