Podział list na backend - jak dodać niestandardowy rozmiar listy?

9

Jak mogę dodać niestandardową wartość do Ustawienia strony > Domyślny limit listy w Joomla 3.X?

Widzę tam rozwijane menu z wartościami 5, 10, 15, 20, 25, 30, 50, 100 .

Chciałbym dodać pozycję 500 .

Czy można łatwo dodawać / wdrażać wybór Unlimited ?

miroxlav
źródło

Odpowiedzi:

6

Ustawienie zaplecza nie pokazuje opcji „Wszystkie”, która jest prezentowana, gdy element Limit listy jest wyświetlany w widoku paginacji, ale istnieje. Dlatego nie powinieneś potrzebować opcji „Nieograniczony” w konfiguracji, ponieważ jest ona dodawana do listy limitów podczas tworzenia obiektu paginacji.

np. możesz zobaczyć opcję „Wszystkie” na dole tego selektora.

Joomla 3.3 Selektor limitu stronicowania

Nie jestem świadomy bezpośredniego sposobu, w przeszłości zhakowaliśmy rdzeń, ale nie zalecamy tego ze względu na problemy, które powstają podczas stosowania aktualizacji w dół. Zgaduję, że chcesz trwałej modyfikacji, która nie zostanie zastąpiona żadnymi aktualizacjami Joomla, które zostaną wydane w przyszłości.

To tylko spekulacje, ale prawdopodobnie będziesz musiał napisać wtyczkę systemową / treściową, aby zmodyfikować zachowanie Joomla w dwóch miejscach, najpierw w com_configformularzu dla aplikacji Joomla ( application.xml), musisz dodać dodatkowe wartości, które chcesz element formularza list_limit. Prawdopodobnie zacznę od próby użycia wyzwalaczy onBeforeRenderlub onContentPrepareForm.

Następnie wyobrażam sobie, że będziesz musiał zmodyfikować obiekt JPagination, aby wyświetlał także dodatkowe wartości. Jako obiekty stronicowania są wykorzystywane w widoku menedżera (przynajmniej w backend) Nie jestem pewien, które wydarzenie będzie chcesz uchwycić, chciałbym zbadać onAfterInitialise, onAfterRoute, onBeforeRender, onContentPreparei onContentBeforeDisplay.

Te trzy pierwsze czynniki uruchamiające są bardzo wcześnie w życiu aplikacji, ale nie jestem pewien, jak wcześnie / późno możesz wprowadzić potrzebne zmiany.

Craig
źródło
Co powiesz na podniesienie przedmiotu śledzącego, aby zmienił się w rdzeniu?
Peter Wiseman
Zakładam, że OP chce teraz rozwiązania. Z pewnością zostało to wcześniej zasugerowane i przesłane, ale nie jestem pewien, czy tak było od momentu przejścia na github.
Craig
2

Możesz spróbować tego, ale jest to hack podstawowy, a nie właściwy sposób (dla Joomla 3.3.0):

  1. Otwórz plik /administrator/components/com_config/models/forms/application.xml
  2. Wyszukaj to

        <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. Dodaj własne wartości w ten sposób

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

Agencja Joomla
źródło