Giant Dad

Giant Dad

С нами с 11 августа 2021; Место в рейтинге пользователей: #399
Артур Шевченко
30 июня 2022, 18:20
1
+1
Я взял код из документации
$modx->toPlaceholders(array(
  'document' => array('pagetitle' => 'My Page')
));
Потом на фронте вызвал сниппет и вывел плейсхолдер двумя способами
{'test' | snippet}
{'document.pagetitle' | placeholder}
{$_modx->getPlaceholder('document.pagetitle')}
Оба способа сработали.
Главное, чтобы сниппет выполнялся раньше чем ты выводишь плейсхолдер.
Евгений Webinmd
26 января 2022, 17:14
1
0
можно попробовать использовать родной синтаксис [[!+pageCount]]
Тодор
21 декабря 2021, 18:23
1
+2
Здесь немного сложнее, нужно расширить класс mse2FiltersHandler по этой инсрукции и отредактировать метод getSortFields, перед return нужно добавить еще пару строк
if(!empty($this->config['sortby'])){
    //если хочеш использовать те параметри что были при инициализации mFilter2
    $sortby = explode(",", $this->config['sortby']);
    array_unshift($data,  $sortby[0]); 
    //можно и напрямую заново определить sortby
    //array_unshift($data, "CASE `Data`.`vendor` WHEN 7 THEN 1 ELSE 0 END ASC"); 
}
Николай Савин
21 декабря 2021, 12:56
1
+2
Это очень интересный кейс. @Тодор а чего бы тебе не написать чуть более расширенную заметку на эту тему. Что-то вроде «Сортировка с использованием операторов БД».
Не припоминаю, чтобы я тут такое встречал.
Тодор
20 декабря 2021, 18:49
4
+3
Убери
'sort'=>'resource|menuindex:asc',
оставь только
'sortby' => 'CASE `Data`.`vendor` WHEN 7 THEN 1 ELSE 0 END ASC, msProduct.id',