1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Joomla - Menu/Modulo Items relacionados

Discussão em 'Web Development' iniciada por Kajolas, 16 de Fevereiro de 2009. (Respostas: 2; Visualizações: 3713)

  1. Kajolas

    Kajolas Power Member

    Tenho aqui um pequeno grande problema que não sei bem como conseguir resolver.
    Passo a explicar a estrutura do site e o que pretendo

    Problema 1

    Tenho uma primeira pagina que lista os conteudos de uma determinada categoria chamada filmes e quando entramos dentro de um item dessa categoria existe um modulo activo com items relacionados sobre artigos desse filme. O problema com que me deparo aqui é que este modulo fica activo na pagina das listagens e fica vazio porque não existem itens relacionados com a listagem (até pq é impossivel adicionar metada a uma listagem de categoria ou secção ou será que é possivel??!) logo qual seria a solução para o esconder da listagem e colocar só a aparecer depois ? É que esteticamente fica mesmo muito feio.

    [​IMG]

    Legenda:
    Imagem 1 * um modulo de itens relacionados vazio e que o pretendo encher de alguma maneira
    Imagem 2 * um modulo de itens relacionados de um artigo

    Problema 2

    Caso dê para fazer um modulo menu com itens relacionados depois bastaria dizer-lhe o nivel que ele poderia aparecer, só que já devorei foruns e ninguem me disse que era possivel fazer um menu com itens relacionados.

    Espero que alguem me possa ajudar, muito obrigado.
     
    Última edição: 16 de Fevereiro de 2009
  2. nopaysoft

    nopaysoft Power Member

    Primeiro Problema:
    Sinceramente já há muito tempo que não uso Joomla! do ponto de vista do utilizador/criador de sites e por isso alguns conceitos e "técnicas" já me escapam mas, segundo aquilo que o meu HD interno consegue armazenar, não poderás fazer isso "out of the box". A minha sugestão é que terás de fazer alguma magia de código para isso aparecer.
    Primeiro que tudo eu tenho de perceber se queres fazer desaparecer a box qd não há conteúdo relacionado ou se queres colocar "Não há conteúdo relacionado com este artigo/página" quando não há nada a apresentar.
    1ª Opção:
    A minha sugestão é que com o "mesmo style" (leia-se mesmas tags html e msm css) cries uma nova "module position" abaixo dessa que usas caso a que uses seja partilhada com outros módulos.
    Caso precises de criar, e partindo que usas 1.5, há um ficheiro .ini na pasta do template com esssas posições, ou basta simplesmente depois publicares o módulo para essa nova posição. Vamos chamá-la "xpto".
    No index.php do template vai para o sitio onde tens o código da ACTUAL module position e copia (incluindo as "divs mais próximas") e cola.
    Ficas com qq coisa como isto, sei que usas o YT mas não sei qual por isso n posso ser mais específico, x2:
    Código:
    <?php if ($this->countModules('left')) { ?>
    <div id="aminhadiv">
        <jdoc:include type="modules" name="left" style="none" />
    </div>
    <?php } ?>
    Deves alterar 1 deles para qq coisa do género:
    Código:
    <?php if ($this->countModules('xpto')) { ?>
    <div id="aminhadiv">
        <jdoc:include type="modules" name="xpto" style="none" />
    </div>
    <?php } ?>
    Agora adiciona-lhe um pouco de magia:
    1 - Adiciona-lhe um codigo que procura os proprios artigos relacionados na BD e se houver gera o módulo, se não não gera
    2 - Ou usa este código que deve servir:

    Código:
    <?php 
    
    $view = JRequest::getCmd( 'view' );
    if (($this->countModules('xpto')) && ($view == "article"))  { ?>
     <div id="aminhadiv">
         <jdoc:include type="modules" name="xpto" style="none" />
     </div>
     <?php } ?>
    
    A segunda opção envolve alterar o código do módulo:
    Em mod_related_items.php, alteras o seguinte:
    Código:
    if (!count($list)) {
        return;
    }
    por:
    Código:
    if (!count($list)) {
        echo "E aqui escreves o que bem entenderes, tambem podes usar HTML mas com cuidado às '' ".
    }

    Eu usaria a segunda opção por ser mais fácil, inteligente e "user friendly".

    2º problema:
    Não o percebi! ;)

    Conclusão:
    Apanhaste-me num dos meus bons dias e por isso expliquei passo a passo (ou quase) o que deverias fazer. Qualquer dúvida: re.posta. até pode haver soluções inteligentes mas esta foi a que me lembrei :D
     
    Última edição: 17 de Fevereiro de 2009
  3. Kajolas

    Kajolas Power Member

    Muito mas mesmo muito obrigado por toda a paciência na explicação e por ambas as soluções funcionarem a 100%, era mesmo isto que estava à procura ! :009:

    Sobre o problema 2 não será necessario resolução porque o problema 1 está resolvido. Seria apenas uma outra solução de recurso

    Obrigado por tudo !
     

Partilhar esta Página