Paginación de listas en el backend: ¿cómo agregar un tamaño de lista personalizado?

9

¿Cómo puedo agregar un valor personalizado a Configuración del sitio > Límite de lista predeterminado en Joomla 3.X?

Puedo ver el menú desplegable con los valores 5, 10, 15, 20, 25, 30, 50, 100 allí.

Me gustaría agregar el artículo 500 .

¿Puede ser la opción Ilimitado agregado / implementado fácilmente también?

miroxlav
fuente

Respuestas:

6

La configuración de back-end no muestra la opción "Todos" que se presenta cuando se muestra un elemento de Límite de lista en la vista paginada, pero existe. Por lo tanto, no debería necesitar una opción "Ilimitada" en la configuración, ya que se agrega a la lista de límites cuando se crea el objeto de paginación.

por ejemplo, puede ver la opción "Todos" en la parte inferior de este selector.

Selector de límite de paginación Joomla 3.3

No conozco una forma directa, en el pasado hemos pirateado el núcleo, pero no recomendamos eso debido a los problemas que esto causa cuando aplica las actualizaciones. Supongo que desea una modificación persistente que no se sobrescriba con las actualizaciones de Joomla que se lanzarán en el futuro.

Esto es solo especulación, pero es probable que deba escribir un complemento de sistema / contenido para modificar el comportamiento de Joomla en dos lugares, primero el com_configformulario para la aplicación Joomla ( application.xml), deberá agregar los valores adicionales que desea El elemento de forma list_limit. Probablemente comenzaría probando los disparadores onBeforeRendero onContentPrepareForm.

Entonces, imagino que necesitará modificar el objeto JPagination para que también muestre sus valores adicionales. Como objetos de paginación se utilizan en vista del administrador (al menos en el back-end) No estoy seguro de qué evento que se desea capturar, yo investigo onAfterInitialise, onAfterRoute, onBeforeRender, onContentPreparey onContentBeforeDisplay.

Esos primeros tres desencadenantes son muy tempranos en la vida de las aplicaciones, pero no estoy seguro de qué tan temprano / tarde puede hacer los cambios que necesita.

Craig
fuente
¿Qué tal simplemente levantar un elemento de seguimiento para que esto cambie en el núcleo?
Peter Wiseman
Supongo que el OP quiere una solución ahora. Ciertamente se ha sugerido y enviado anteriormente, pero no estoy seguro de que lo haya hecho desde el cambio a github.
Craig
2

Puedes probar esto, pero es un truco básico y no es la forma correcta (para Joomla 3.3.0):

  1. Abra el archivo /administrator/components/com_config/models/forms/application.xml
  2. Busque esto

        <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. Agregue sus propios valores como este

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

Agencia Joomla
fuente