Skip to content
  1. Компоненты
  2. multiLingual
  3. Принцип перевода выборок

Принцип перевода сущностей, отличных от modResource и перевода выборок

Работа любых сниппетов, выводящих список каких-либо ресурсов (не обязательно modResource, но также и файлов галереи, комментариев и т.д.), заключается в том, что сниппет, получает на вход набор параметров, формирует запрос к базе данных, получает данные, проводит с ними какую-либо обработку и затем отдает дальше.

В сниппетах pdoTools предусмотрен механизм, позволяющий заменой системной настройки переопределить класс, осуществляющий выборку каких-либо ресурсов.

НастройкаЗначение
pdoFetch.classmlFetch
pdofetch_class_path{core_path}components/multilingual/model/multilingual/

Для того, чтобы иметь возможность получать выборки с переводами ресурсов, отличных от класса modResource (и наследуемых от него), вам необходимо написать свой класс, наследуемый от класса mlFetch, переопределив методы getArray и prepareRows, добавив в них логику подготовки выборки перед отдачей дальше по аналогии с тем, как это сделано в классе mlFetch.

После этого, получая выборки при помощи сниппета pdoResources или при помощи другого, самописного сниппета, использующего класс из настройки pdoFetch.class для этих целей, вы сможете получать выборки с переводами на текущий язык.