Пагинація списків у бекенді - як додати нестандартний розмір списку?


9

Як можна додати спеціальне значення до налаштувань сайту > Обмеження списку за замовчуванням у Joomla 3.X?

Я бачу випадаюче меню зі значеннями 5, 10, 15, 20, 25, 30, 50, 100 там.

Я хотів би додати пункт 500 .

Чи може бути вибір Неограниченное додавання / реалізація також легко?

Відповіді:


6

Налаштування резервного введення не відображає параметр "Усі", який подається, коли елемент "Обмеження списку" відображається у страхінованому вікні, але він існує. Отже, вам не знадобиться параметр "Безлімітний" у конфігурації, оскільки він додається до списку обмежень при створенні об'єкта пагинації.

наприклад, ви можете побачити опцію "Усі" внизу цього селектора.

Селектор обмеження сторінки на Joomla 3.3

Мені невідомо про прямий спосіб, в минулому ми зламали ядро, але ми не рекомендуємо через проблеми, які це викликає, коли ви застосовуєте оновлення вниз. Я здогадуюсь, що ви хочете отримати постійну модифікацію, яка не буде переписана жодними оновленнями Joomla, які будуть випущені в майбутньому.

Це лише спекуляція, але, ймовірно, вам потрібно буде написати плагін для системи / вмісту, щоб змінити поведінку Joomla в двох місцях, спочатку com_configформу для програми Joomla ( application.xml), вам потрібно буде додати додаткове значення, яке ви хочете елемент форми list_limit. Я б, мабуть, почав із спроби onBeforeRenderабо onContentPrepareFormтригерів.

Потім, я думаю, вам потрібно буде змінити об’єкт JPagination, щоб він також відображав ваше додаткове значення. В якості об'єктів розбиття на сторінки використовуються в цілях менеджера (по крайней мере , у внутрішньому інтерфейсі) Я не впевнений , яка подія ви хочете захопити, я б дослідити onAfterInitialise, onAfterRoute, onBeforeRender, onContentPrepareі onContentBeforeDisplay.

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


Як щодо просто підняття елемента трекера, щоб це змінилося в ядрі?
Пітер Вісман

Я припускаю, що ОП хоче рішення зараз. Це, безумовно, було запропоновано та подано раніше, але я не впевнений, що це відбулося з моменту переходу на 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>

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.