Paginação de listas no back-end - como adicionar tamanho de lista personalizado?

9

Como posso adicionar um valor personalizado a Configurações do site > Limite de lista padrão no Joomla 3.X?

Eu posso ver o menu suspenso com os valores 5, 10, 15, 20, 25, 30, 50, 100 lá.

Eu gostaria de adicionar o item 500 .

Também pode ser a escolha Ilimitada adicionada / implementada facilmente?

miroxlav
fonte

Respostas:

6

A configuração de back-end não mostra a opção "Todos", apresentada quando um item de Limite de lista é mostrado na exibição paginada, mas existe. Portanto, você não precisa de uma opção "Ilimitado" na configuração, pois ela é adicionada à lista de limites quando o objeto de paginação é criado.

por exemplo, você pode ver a opção "Todos" na parte inferior deste seletor.

Seletor de limite de paginação do Joomla 3.3

Não tenho conhecimento de uma maneira direta; no passado, hackeamos o núcleo, mas não recomendamos que devido aos problemas que isso causa quando você aplica atualizações no caminho certo. Eu estou supondo que você deseja uma modificação persistente que não será substituída por nenhuma atualização do Joomla que será lançada no futuro.

Isso é apenas especulação, mas você provavelmente precisará escrever um plugin de sistema / conteúdo para modificar o comportamento do Joomla em dois lugares, primeiro o com_configformulário para o aplicativo Joomla ( application.xml), será necessário adicionar o (s) valor (es) extra (s) que deseja o elemento do formulário list_limit. Eu provavelmente começaria tentando o onBeforeRenderou onContentPrepareFormgatilhos.

Então, imagino que você precisará modificar o objeto JPagination para que ele também mostre seus valores adicionais. Como objetos de paginação são usados em vista gerente (pelo menos no backend) Eu não tenho certeza de qual evento você gostaria de captura, eu investigar onAfterInitialise, onAfterRoute, onBeforeRender, onContentPreparee onContentBeforeDisplay.

Esses três primeiros gatilhos são muito precoces na vida dos aplicativos, mas não tenho certeza de quão cedo / tarde você pode fazer as alterações necessárias.

Craig
fonte
Que tal apenas criar um item rastreador para que isso mude no núcleo?
Peter Wiseman
Estou assumindo que o OP quer uma solução agora. Certamente já foi sugerido e enviado anteriormente, mas não tenho certeza de que existe desde a mudança para o github.
Craig
2

Você pode tentar isso, mas é um truque básico e não o caminho correto (para o Joomla 3.3.0):

  1. Abra o arquivo /administrator/components/com_config/models/forms/application.xml
  2. Procurar por este

        <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. Adicione seus próprios valores como este

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

Agência Joomla
fonte