Back to top

Autore Topic: Visualizzare categorie k2 con immagine  (Letto 4246 volte)

Offline ertos82

  • Esploratore
  • **
  • Post: 115
  • Sesso: Maschio
    • Mostra profilo
Visualizzare categorie k2 con immagine
« il: 02 Feb 2014, 11:52:26 »
Ciao Ragazzi
Ho installato il componente k2 vorrei far visualizzare solo nella homepage la lista delle categorie con un anteprima delle immagini.

Ho visto che esiste il modulo k2 tools che visualizza un menu con tutte le categorie, vorrei duplicare questo modulo per modificare il layout e far apparire le categorie in homepage con un layout piu grazioso.

Si puo fare? Ho visto che sempre in questo componente vi è la possibilita di inserire del codice personalizzato, ho provato ad inserire direttamente il codice della pagina k2/category_item.php ma non ci riesco.
Esiste qualche modulo e plugin che fa questa cosa? Grazie

Codice: [Seleziona]
<?php
defined
('_JEXEC') or die('Restricted access');
?>


<!-- Start K2 Category Layout -->

<div id="k2Container" class="itemListView<?php if($this->params->get('pageclass_sfx')) echo ' '.$this->params->get('pageclass_sfx'); ?>">
    <?php if($this->params->get('show_page_title')): ?>
   
    <!-- Page title -->
   
    <div class="componentheading<?php echo $this->params->get('pageclass_sfx')?>">
        <?php echo $this->escape($this->params->get('page_title')); ?>
    </div>
    <?php endif; ?>
    <?php if($this->params->get('catFeedIcon')): ?>
   
    <!-- RSS feed icon -->
   
    <div class="k2FeedIcon">
        <a href="<?php echo $this->feed?>" title="<?php echo JText::_('K2_SUBSCRIBE_TO_THIS_RSS_FEED'); ?>">
        <span><?php echo JText::_('K2_SUBSCRIBE_TO_THIS_RSS_FEED'); ?></span>
        </a>
        <div class="clr"></div>
    </div>
    <?php endif; ?>
    <?php if(isset($this->category) || ( $this->params->get('subCategories') && isset($this->subCategories) && count($this->subCategories) )): ?>
   
    <!-- Blocks for current category and subcategories -->
   
    <div class="itemListCategoriesBlock">
        <?php if(isset($this->category) && ( $this->params->get('catImage') || $this->params->get('catTitle') || ($this->params->get('catDescription')  && $this->category->description != '' ) || $this->category->event->K2CategoryDisplay )): ?>
       
        <!-- Category block -->
       
        <div class="itemListCategory">
            <?php if(isset($this->addLink)): ?>
           
            <!-- Item add link -->
           
            <span class="catItemAddLink">
            <a class="modal" rel="{handler:'iframe',size:{x:990,y:650}}" href="<?php echo $this->addLink?>">
            <?php echo JText::_('K2_ADD_A_NEW_ITEM_IN_THIS_CATEGORY'); ?>
            </a>
            </span>
            <?php endif; ?>
            <?php if($this->params->get('catImage') && $this->category->image): ?>
           
            <!-- Category image -->
           
            <img alt="<?php echo K2HelperUtilities::cleanHtml($this->category->name); ?>" src="<?php echo $this->category->image?>" style="width:<?php echo $this->params->get('catImageWidth'); ?>px; height:auto;" />
            <?php endif; ?>
            <?php if($this->params->get('catTitle')): ?>
           
            <!-- Category title -->
           
            <h2><?php echo $this->category->name?>
                <?php if($this->params->get('catTitleItemCounter')) echo ' ('.$this->pagination->total.')'?>
            </h2>
            <?php endif; ?>
            <?php if($this->params->get('catDescription') && $this->category->description != '' ): ?>
           
            <!-- Category description -->
           
            <p><?php echo $this->category->description?></p>
            <?php endif; ?>
           
            <!-- K2 Plugins: K2CategoryDisplay -->
           
            <?php echo $this->category->event->K2CategoryDisplay?>
            <div class="clr"></div>
        </div>
        <?php endif; ?>
        <?php if($this->params->get('subCategories') && isset($this->subCategories) && count($this->subCategories)): ?>
       
        <!-- Subcategories -->
       
        <div class="itemListSubCategories">
            <h2><?php echo JText::_('K2_CHILDREN_CATEGORIES'); ?></h2>
            <?php foreach($this->subCategories as $key=>$subCategory): ?>
            <?php

            
// Define a CSS class for the last container on each row

            
if( (($key+1)%($this->params->get('subCatColumns'))==0) || count($this->subCategories)<$this->params->get('subCatColumns') )

                
$lastContainer' subCategoryContainerLast';

            else

                
$lastContainer='';

            
?>

            <div class="subCategoryContainer<?php echo $lastContainer?>"<?php echo (count($this->subCategories)==1) ? '' ' style="width:'.(number_format(100/$this->params->get('subCatColumns'), 1)-0.1).'%;"'?>>
                <div class="subCategory">
                    <?php if($this->params->get('subCatImage') && $subCategory->image): ?>
                   
                    <!-- Subcategory image -->
                   
                    <a class="subCategoryImage" href="<?php echo $subCategory->link?>">
                    <img alt="<?php echo K2HelperUtilities::cleanHtml($subCategory->name); ?>" src="<?php echo $subCategory->image?>" />
                    </a>
                    <?php endif; ?>
                    <?php if($this->params->get('subCatTitle')): ?>
                   
                    <!-- Subcategory title -->
                   
                    <div>
                        <h3>
                            <a href="<?php echo $subCategory->link?>">
                            <?php echo $subCategory->name?>
                            <span>
                            <?php if($this->params->get('subCatTitleItemCounter')) echo ' ('.$subCategory->numOfItems.')'?>
                            </span>
                            </a>
                        </h3>
                        <?php endif; ?>
                        <?php if($this->params->get('subCatDescription')): ?>
                       
                        <!-- Subcategory description -->
                       
                        <?php echo $subCategory->description?>
                        <?php endif; ?>
                       
                        <!-- Subcategory more... -->
                       
                        <a class="k2ReadMore" href="<?php echo $subCategory->link?>">
                        <?php echo JText::_('K2_VIEW_ITEMS'); ?>
                        </a>
                    </div>
                    <div class="clr"></div>
                </div>
            </div>
            <?php if(($key+1)%($this->params->get('subCatColumns'))==0): ?>
            <div class="clr"></div>
            <?php endif; ?>
            <?php endforeach; ?>
            <div class="clr"></div>
        </div>
        <?php endif; ?>
    </div>
    <?php endif; ?>
    <?php if((isset($this->leading) || isset($this->primary) || isset($this->secondary) || isset($this->links)) && (count($this->leading) || count($this->primary) || count($this->secondary) || count($this->links))): ?>
   
    <!-- Item list -->
   
    <div class="itemList">
        <?php if(isset($this->leading) && count($this->leading)): ?>
       
        <!-- Leading items -->
       
        <div id="itemListLeading">
            <?php foreach($this->leading as $key=>$item): ?>
            <?php

            
// Define a CSS class for the last container on each row

            
if( (($key+1)%($this->params->get('num_leading_columns'))==0) || count($this->leading)<$this->params->get('num_leading_columns') )

                
$lastContainer' itemContainerLast';

            else

                
$lastContainer='';

            
?>

            <div class="itemContainer<?php echo $lastContainer?>"<?php echo (count($this->leading)==1) ? '' ' style="width:'.(number_format(100/$this->params->get('num_leading_columns'), 1)-0.1).'%;"'?>>
                <?php

                    
// Load category_item.php by default

                    
$this->item=$item;

                    echo 
$this->loadTemplate('item');

                
?>

            </div>
            <?php if(($key+1)%($this->params->get('num_leading_columns'))==0): ?>
            <div class="clr"></div>
            <?php endif; ?>
            <?php endforeach; ?>
            <div class="clr"></div>
        </div>
        <?php endif; ?>
        <?php if(isset($this->primary) && count($this->primary)): ?>
       
        <!-- Primary items -->
       
        <div id="itemListPrimary">
            <?php foreach($this->primary as $key=>$item): ?>
            <?php

            
// Define a CSS class for the last container on each row

            
if( (($key+1)%($this->params->get('num_primary_columns'))==0) || count($this->primary)<$this->params->get('num_primary_columns') )

                
$lastContainer' itemContainerLast';

            else

                
$lastContainer='';

            
?>

            <div class="itemContainer<?php echo $lastContainer?>"<?php echo (count($this->primary)==1) ? '' ' style="width:'.(number_format(100/$this->params->get('num_primary_columns'), 1) - 0.1).'%;"'?>>
                <?php

                    
// Load category_item.php by default

                    
$this->item=$item;

                    echo 
$this->loadTemplate('item');

                
?>

            </div>
            <?php if(($key+1)%($this->params->get('num_primary_columns'))==0): ?>
            <div class="clr"></div>
            <?php endif; ?>
            <?php endforeach; ?>
            <div class="clr"></div>
        </div>
        <?php endif; ?>
        <?php if(isset($this->secondary) && count($this->secondary)): ?>
       
        <!-- Secondary items -->
       
        <div id="itemListSecondary">
            <?php foreach($this->secondary as $key=>$item): ?>
            <?php

            
// Define a CSS class for the last container on each row

            
if( (($key+1)%($this->params->get('num_secondary_columns'))==0) || count($this->secondary)<$this->params->get('num_secondary_columns') )

                
$lastContainer' itemContainerLast';

            else

                
$lastContainer='';

            
?>

            <div class="itemContainer<?php echo $lastContainer?>"<?php echo (count($this->secondary)==1) ? '' ' style="width:'.(number_format(100/$this->params->get('num_secondary_columns'), 1)-0.1).'%;"'?>>
                <?php

                    
// Load category_item.php by default

                    
$this->item=$item;

                    echo 
$this->loadTemplate('item');

                
?>

            </div>
            <?php if(($key+1)%($this->params->get('num_secondary_columns'))==0): ?>
            <div class="clr"></div>
            <?php endif; ?>
            <?php endforeach; ?>
            <div class="clr"></div>
        </div>
        <?php endif; ?>
        <?php if(isset($this->links) && count($this->links)): ?>
       
        <!-- Link items -->
       
        <div id="itemListLinks">
            <h4><?php echo JText::_('K2_MORE'); ?></h4>
            <?php foreach($this->links as $key=>$item): ?>
            <?php

            
// Define a CSS class for the last container on each row

            
if( (($key+1)%($this->params->get('num_links_columns'))==0) || count($this->links)<$this->params->get('num_links_columns') )

                
$lastContainer' itemContainerLast';

            else

                
$lastContainer='';

            
?>

            <div class="itemContainer<?php echo $lastContainer?>"<?php echo (count($this->links)==1) ? '' ' style="width:'.(number_format(100/$this->params->get('num_links_columns'), 1)-0.1).'%;"'?>>
                <?php

                    
// Load category_item_links.php by default

                    
$this->item=$item;

                    echo 
$this->loadTemplate('item_links');

                
?>

            </div>
            <?php if(($key+1)%($this->params->get('num_links_columns'))==0): ?>
            <div class="clr"></div>
            <?php endif; ?>
            <?php endforeach; ?>
            <div class="clr"></div>
        </div>
        <?php endif; ?>
    </div>
   
    <!-- Pagination -->
   
    <?php if(count($this->pagination->getPagesLinks())): ?>
    <div class="k2Pagination">
        <?php if($this->params->get('catPagination')) echo $this->pagination->getPagesLinks(); ?>
    </div>
    <?php endif; ?>
    <?php endif; ?>
</div>

<!-- End K2 Category Layout -->


Offline alessioa

  • Abituale
  • ****
  • Post: 1136
  • Sesso: Maschio
    • Mostra profilo
Re:Visualizzare categorie k2 con immagine
« Risposta #1 il: 02 Feb 2014, 19:34:15 »
Ciao,

ma non fai prima a linkare il menu "vista categoria" di k2 selezionando più categorie e poi personalizzare un template solo per le categorie ? Ti assicuro che funziona, ho perso il numero di quante volte l'ho fatto.

Eh no! Il codice del modulo è diverso da quello del componente .
Realizzazione siti Joomla! | I love Wing Chun :-) | Non promettere nulla a nessuno se non sei certo di poterlo mantenere .

Offline ertos82

  • Esploratore
  • **
  • Post: 115
  • Sesso: Maschio
    • Mostra profilo
Re:Visualizzare categorie k2 con immagine
« Risposta #2 il: 02 Feb 2014, 20:19:26 »
Grazie per la risposta ma non capisco

Allora io ho il menu in cui vi è un pulsante che fa il link alla pagina categoria  k2 e funziona bene

Ora vorrei creare nella homepage del sito un box per far visualizzare le categorie, NO il menu lista categorie.

Puoi spiegarmi meglio?

Offline alessioa

  • Abituale
  • ****
  • Post: 1136
  • Sesso: Maschio
    • Mostra profilo
Re:Visualizzare categorie k2 con immagine
« Risposta #3 il: 02 Feb 2014, 21:16:49 »
Se ho ben capito a te serve avere un listao di tutte le categorie di K2 ed associare un'immagine per ciascuna categoria, è corretto ?

Soluzione 1

Il modulo K2 tools non ha questa funzione, probabilmente nella JED c'è qualche modulo commerciale che possiede questa funzionalità, ma puoi aggirare il problema in questo modo.

La voce "home" la link a K2 Categorie e selezioni tenendo premuto CTRL tutte le categorie che vuoi mostrare.

Poi ti personalizzi il template che trovi sotto /components/com_k2/templates/default/category.php, per personalizzi intendo da CSS ed eventualmente da PHP, ti consigli di duplicare il template default e di farne uno ad hoc.

Soluzione 2

Rendi tutte le categorie che vuoi mostrare sottocategorie di una categoria "padre", esempio :

- padre
-- figlio
-- figlio
-- figlio

La voce "home" la linki a K2 Categorie e selezioni la categoria "padre", nelle impostazioni selezioni il template di K2 che avrai precedentemente personalizzato, che hai chiamato per esempio "cat_listing"

Ora dalle impostazioni categorie di K2 e nella categoria "padre" imposti la visualizzazione agendo direttamente sulle impostazioni native.

Ciò che ti apparirà e dovrai togliere da CSS sarà il nome della categoria "padre", ma ti basta utilizzare un display:none.

Un esempio fatto tempo fà è questo http://jet-set.org/ (printing module, printing systems, ecc) queste sono categorie di K2.


Realizzazione siti Joomla! | I love Wing Chun :-) | Non promettere nulla a nessuno se non sei certo di poterlo mantenere .

Offline ertos82

  • Esploratore
  • **
  • Post: 115
  • Sesso: Maschio
    • Mostra profilo
Re:Visualizzare categorie k2 con immagine
« Risposta #4 il: 02 Feb 2014, 21:41:11 »
Beh ripeto meglio

A me serve far visualizzare le categorie nella home page con le relative immagini che ho gia caricato nella gestione delle categorie.

Riguardo al tuo discorso cosa significa:
Citazione
La voce "home" la link a K2 Categorie e selezioni tenendo premuto CTRL tutte le categorie che vuoi mostrare.

Io non devo cliccare su home e visualizzare le categorie, ma devono essere gia nella home visibili :)


Offline sudoku

  • Global Moderator
  • Instancabile
  • ********
  • Post: 4077
  • Sesso: Maschio
  • Non serve essere alti. basta essere all'altezza
    • Mostra profilo
Re:Visualizzare categorie k2 con immagine
« Risposta #5 il: 02 Feb 2014, 22:22:39 »
utilizza il modulo che hai e lo assegni ad una posizione non esistente nel template (esempio: pippo) e inserisci nell'articolo homepage {loadposition pippo}.
Joomla non è una soluzione, é un metodo
http://www.BreezingTest.altervista.org

 



Web Design Bolzano Kreatif