Мы используем smartContent с разбиением на страницы:
Это работает для разбиения на страницы, например /glossary?p=2
Мы хотели бы расширить это, чтобы можно было использовать разбиение на страницы с дополнительным параметром запроса «буква», например
Код: Выделить всё
/glossary?p=3&letter=BНа данный момент мы не знаем, как получить букву параметра запроса из запроса.
Код из нашего QueryBuilder
Код: Выделить всё
private ?string $letter = null;
public function init(array $options)
{
parent::init($options);
$this->letter = $options['letter'] ?? null;
}
protected function buildWhere($webspaceKey, $locale)
{
$sql2Where = explode(' AND ', parent::buildWhere($webspaceKey, $locale));
// letter parameter is always empty
$sql2Where[] = "page.[i18n:{$locale}-title] LIKE '{$this->letter}%'";
//hard-coded is working
//$sql2Where[] = "page.[i18n:{$locale}-title] LIKE 'B%'";
return implode(' AND ', $sql2Where);
}
Технические характеристики:
- Sulu 2.6.5
- PHP 8.3
Подробнее здесь: https://stackoverflow.com/questions/798 ... ter-letter
Мобильная версия