Разбивка списков на бэкэнд - как добавить пользовательский размер списка?

9

Как добавить пользовательское значение в « Настройки сайта» > « Предел списка по умолчанию» в Joomla 3.X?

Я вижу выпадающее меню со значениями 5, 10, 15, 20, 25, 30, 50, 100 .

Я хотел бы добавить пункт 500 .

Может быть, выбор Unlimited также легко добавлен / реализован?

miroxlav
источник

Ответы:

6

В настройке бэкэнда не отображается опция «Все», которая отображается, когда элемент «Ограничение списка» отображается в виде страниц, но он существует. Таким образом, вам не нужен параметр «Неограничено» в конфигурации, поскольку он добавляется в список ограничений при создании объекта нумерации страниц.

Например, вы можете увидеть опцию «Все» в нижней части этого селектора.

Joomla 3.3 Pagination Limit Selector

Я не знаю прямого пути, в прошлом мы взламывали ядро, но мы не рекомендуем этого из-за проблем, которые это вызывает, когда вы применяете обновления в нужное русло. Я предполагаю, что вы хотите постоянную модификацию, которая не будет перезаписана никакими обновлениями Joomla, которые будут выпущены в будущем.

Это всего лишь предположение, но вам, вероятно, понадобится написать плагин system / content для изменения поведения Joomla в двух местах, сначала в com_configформе для приложения Joomla ( application.xml), вам нужно будет добавить дополнительные значения, которые вы хотите элемент формы list_limit. Я бы, наверное, начал с попытки onBeforeRenderили onContentPrepareFormтриггеров.

Затем, я полагаю, вам нужно изменить объект JPagination, чтобы он также отображал ваши дополнительные значения. В качестве объектов разбиения на страницы используются в целях менеджера (по крайней мере , во внутреннем интерфейсе) Я не уверен , какое событие вы хотите захватить, я бы исследовать onAfterInitialise, onAfterRoute, onBeforeRender, onContentPrepareи onContentBeforeDisplay.

Эти первые три триггера очень рано появляются в жизни приложений, но я не уверен, насколько рано / поздно вы сможете внести необходимые изменения.

Craig
источник
Как насчет просто поднять элемент трекера, чтобы это изменилось в ядре?
Питер Уайзман
Я предполагаю, что ОП хочет решение сейчас. Это, конечно, было предложено и представлено ранее, но я не уверен, что это произошло с момента перехода на github.
Крейг
2

Вы можете попробовать это, но это основной взлом, а не правильный путь (для Joomla 3.3.0):

  1. Откройте файл /administrator/components/com_config/models/forms/application.xml
  2. Искать это

        <field
        name="list_limit"
        type="list"
        default="20"
        label="COM_CONFIG_FIELD_DEFAULT_LIST_LIMIT_LABEL"
        description="COM_CONFIG_FIELD_DEFAULT_LIST_LIMIT_DESC"
        filter="integer">
        <option value="5">J5</option>
        <option value="10">J10</option>
        <option value="15">J15</option>
        <option value="20">J20</option>
        <option value="25">J25</option>
        <option value="30">J30</option>
        <option value="50">J50</option>
        <option value="100">J100</option>
    </field>
    
  3. Добавьте свои собственные ценности, как это

    <option value="500">J500</option>

Агентство Joomla
источник