Bonjour,
je souhaite avoir une vue annuaire pour des sous-catégories et je ne trouve pour le moment pas la solution...
En résumé :
- j'ai une présentation en vue annuaire de ma Catégorie 1.
- je voudrais qu'en cliquant sur le titre de cette 'Sous -Catégorie A', mon visiteur arrive sur une page, toujours en 'vue annuaire' présentant cette Catégorie A et ses sous-catégorie.
Mes recherches m'ont renvoyé vers
ce topic
et je rencontre les mêmes problèmes ; à savoir :
- j'ai créé mon template perso et je cherche à modifier category.php afin qu'il se présente comme le mode annuaire.
J'ai pris une partie du code de default_categorie.php que j'ai trouvé dans le repertoire \components\com_flexicontent\views\flexicontent\tmpl
Donc désormais mon category.php ressemble à ça :
Code:
<?php
defined( '_JEXEC' ) or die( 'Restricted access' );
?>
<?php
// Get the directory menu parameters
$cols = $this->params->get('columns_count');
$c1 = $this->params->get('column1');
$c2 = $this->params->get('column2');
$c3 = $this->params->get('column3');
$i = 0;
switch ($cols)
{
case 1 :
$condition1 = '';
$condition2 = '';
$condition3 = '';
$style = ' style="width:100%;"';
break;
case 2 :
$condition1 = $c1;
$condition2 = '';
$condition3 = '';
$style = ' style="width:47%;"';
break;
case 3 :
$condition1 = $c1;
$condition2 = ($c1+$c2);
$condition3 = '';
$style = ' style="width:31%;"';
break;
case 4 :
$condition1 = $c1;
$condition2 = ($c1+$c2);
$condition3 = ($c1+$c2+$c3);
$style = ' style="width:24%;"';
break;
}
?>
<div id="flexicontent" class="flexicontent directory">
<?php if ($this->params->def( 'show_page_title', 1 )) : ?>
<h2 class="componentheading flexicontent">
<?php echo $this->params->get('page_title'); ?>
</h2>
<?php endif; ?>
<?php if ($this->params->get('showintrotext')) : ?>
<div class="description no_space floattext">
<?php echo $this->params->get('introtext'); ?>
</div>
<?php endif; ?>
</div>
<div class="column"<?php echo $style; ?>>
<?php foreach ($this->categories as $sub) : ?>
<div class="floattext">
<h2 class="flexicontent cat<?php echo $sub->id; ?>">
<a href="<?php echo JRoute::_( FlexicontentHelperRoute::getCategoryRoute($sub->slug) ); ?>">
<?php echo $this->escape($sub->title); ?>
<?php if ($this->params->get('showassignated')) : ?>
<span class="small"><?php echo $sub->assigneditems != null ? '('.$sub->assigneditems.')' : '(0)'; ?></span>
<?php endif; ?>
</h2>
<ul class="catdets cat<?php echo $sub->id; ?>">
<?php
foreach ($sub->subcats as $subcat) :?>
<li>
[url=<?php echo JRoute::_( FlexicontentHelperRoute::getCategoryRoute($subcat->slug) ); ?>]<?php echo $this->escape($subcat->title); ?>[/url]
<?php if ($this->params->get('showassignated')) : ?>
<span class="small"><?php echo $subcat->assignedsubitems != null ? '('.$subcat->assignedsubitems.'/'.$subcat->assignedcats.')' : '(0/'.$subcat->assignedcats.')'; ?></span>
<?php endif; ?>
</li>
<?php
endforeach; ?>
</ul>
</div>
<?php
$i++;
if ($i == $condition1 || $i == $condition2 || $i == $condition3) :
echo '</div><div class="column"'.$style.'>';
endif;
endforeach; ?>
</div>
<div class="clear"></div>
Je ne comprends pas pourquoi mais j'ai plusieurs erreurs dans le résultat :
- la présentation normale de la vue annuaire n'est pas conservée (je n'arrive pas à voir où j'ai pu oublier de la css) ;
- la présentation de la catégorie n'est pas la bonne, ça renvoie la présentation de la Catégorie 1 (et donc pas de la sous-catégorie A).
Je tourne en rond. Je suis sûr qu'il y a un truc tout simple auquel je n'ai pas pensé... Help !
Merci