web-dev-qa-db-fra.com

Pagination de listes en backend - comment ajouter une taille de liste personnalisée?

Comment puis-je ajouter une valeur personnalisée à Paramètres du site> Limite de liste par défaut dans Joomla 3.X?

Je peux voir le menu déroulant avec les valeurs 5, 10, 15, 20, 25, 30, 50, 1 là.

J'aimerais ajouter l'item 5.

Peut être le choix illimité ajouté/mis en œuvre facilement, aussi?

9
miroxlav

Le paramètre backend n'affiche pas l'option "Tous" qui est présentée lorsqu'un élément de liste restreinte est affiché dans une vue paginée, mais qu'il existe. Ainsi, vous ne devriez pas avoir besoin d'une option "Illimité" dans la configuration, car elle est ajoutée à la liste des limites lors de la création de l'objet de pagination.

par exemple. vous pouvez voir l'option "Tous" au bas de ce sélecteur.

Joomla 3.3 Pagination Limit Selector

Je ne suis pas au courant d'une manière directe, nous avons déjà piraté le noyau dans le passé, mais nous ne recommandons pas cette solution en raison des problèmes que cela pose lorsque vous appliquez des mises à jour en aval. Je suppose que vous voulez une modification persistante qui ne sera pas écrasée par les mises à jour de Joomla qui seront publiées dans le futur.

Ce n'est que spéculation, mais vous aurez probablement besoin d'écrire un plugin système/contenu pour modifier le comportement de Joomla à deux endroits, d'abord le com_config formulaire pour l’application Joomla (application.xml), vous devrez ajouter la ou les valeur (s) supplémentaire (s) souhaitée (s) à l’élément de formulaire list_limit. Je commencerais probablement par essayer les déclencheurs onBeforeRender ou onContentPrepareForm.

Ensuite, j’imagine que vous devrez modifier l’objet JPagination afin qu’il affiche également vos valeurs supplémentaires. Comme les objets de pagination sont utilisés dans la vue du gestionnaire (du moins dans le backend), je ne sais pas quel événement vous souhaitez capturer, j'examinerais donc onAfterInitialise, onAfterRoute, onBeforeRender, onContentPrepare et onContentBeforeDisplay.

Ces trois premiers déclencheurs interviennent très tôt dans la vie des applications, mais je ne sais pas si vous pouvez effectuer les modifications dont vous avez besoin tôt/tard.

6
Craig

Vous pouvez essayer ceci, mais c'est un hack fondamental et pas le bon moyen (pour Joomla 3.3.0):

  1. Ouvrez le fichier /administrator/components/com_config/models/forms/application.xml.
  2. Rechercher ceci

        <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. Ajoutez vos propres valeurs comme celle-ci

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

2
Joomla Agency