- Posts: 33
COMMUNITY FORUM
Catégorie Image
- maiky
- Topic Author
- Offline
- Junior Member
Less
More
8 years 3 weeks ago #159471
by maiky
AJMG
Catégorie Image was created by maiky
Bonjour chers amis, mon problèmes est le suivant.
J'ai plusieurs catégories dont certains ont des images et d'autres non.
Pour les catégories qui n'ont pas d'images, j'aurais souhaité que l'image par défaut des catégorie ne s'affiche pas.
Si une image à été uploader dans la catégorie alors on affiche
Sinon on affiche rien (Aucune image je veux l'image par défaut).
imgur.com/iBzRIny
J'ai plusieurs catégories dont certains ont des images et d'autres non.
Pour les catégories qui n'ont pas d'images, j'aurais souhaité que l'image par défaut des catégorie ne s'affiche pas.
Si une image à été uploader dans la catégorie alors on affiche
Sinon on affiche rien (Aucune image je veux l'image par défaut).
imgur.com/iBzRIny
AJMG
Please Log in or Create an account to join the conversation.
- maiky
- Topic Author
- Offline
- Junior Member
Less
More
- Posts: 33
8 years 3 weeks ago #159472
by maiky
AJMG
Replied by maiky on topic Catégorie Image
Je crois avoir trouvé ma solution à vous de me dire ce que vous pensez de cette méthode.
1- J'ai localisé le fichié Utilities.php qui se trouve dans le dossier helpers de com_k2, à la ligne 83 de ce fichier j'ai fonction getCategoryImage
A cette fonction là j'ai retiré l'execution après le 2e ESLSE ce qui me donne donc
2- Dans le fichier category.php j'avais créer une div CategoryHeader dans laquelle devrait apparaître l'image et la description de la catégorie.
Juste avant cette div j'avais ce code
Code complet
Alors j'ai conditionné l'affichage de cette nouvelle div que j'ai créer par la vérification qu'une image pour la catégorie à été uploader
ET VOILA
1- J'ai localisé le fichié Utilities.php qui se trouve dans le dossier helpers de com_k2, à la ligne 83 de ce fichier j'ai fonction getCategoryImage
public static function getCategoryImage($image, $params)
{
jimport('joomla.filesystem.file');
$mainframe = JFactory::getApplication();
$categoryImage = NULL;
if (!empty($image))
{
$categoryImage = JURI::root(true).'/media/k2/categories/'.$image;
}
else
{
if ($params->get('catImageDefault'))
{
if (JFile::exists(JPATH_SITE.DS.'templates'.DS.$mainframe->getTemplate().DS.'images'.DS.'placeholder'.DS.'category.png'))
{
$categoryImage = JURI::root(true).'/templates/'.$mainframe->getTemplate().'/images/placeholder/category.png';
}
else
{
$categoryImage = JURI::root(true).'/components/com_k2/images/placeholder/category.png';
}
}
}
return $categoryImage;
}
A cette fonction là j'ai retiré l'execution après le 2e ESLSE ce qui me donne donc
public static function getCategoryImage($image, $params)
{
jimport('joomla.filesystem.file');
$mainframe = JFactory::getApplication();
$categoryImage = NULL;
if (!empty($image))
{
$categoryImage = JURI::root(true).'/media/k2/categories/'.$image;
}
else
{
if ($params->get('catImageDefault'))
{
if (JFile::exists(JPATH_SITE.DS.'templates'.DS.$mainframe->getTemplate().DS.'images'.DS.'placeholder'.DS.'category.png'))
{
$categoryImage = JURI::root(true).'/templates/'.$mainframe->getTemplate().'/images/placeholder/category.png';
}
}
}
return $categoryImage;
}
2- Dans le fichier category.php j'avais créer une div CategoryHeader dans laquelle devrait apparaître l'image et la description de la catégorie.
Juste avant cette div j'avais ce code
<?php if($this->params->get('catImage') || $this->params->get('catDescription')): ?>
Code complet
[color=#ff0044]<?php if($this->params->get('catImage') || $this->params->get('catDescription')): ?>[/color]
<div class="CategoryHeader">
<?php if($this->params->get('catImage') && $this->category->image): ?>
<div class="catImage">
<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;" />
</div>
<?php endif; ?>
<?php if($this->params->get('catDescription')): ?>
<div class="catDescription"><?php echo $this->category->description; ?></div>
<?php endif; ?>
</div>
<?php endif; ?>
Alors j'ai conditionné l'affichage de cette nouvelle div que j'ai créer par la vérification qu'une image pour la catégorie à été uploader
[color=#ff0044]<?php if(isset($this->category->image)): ?>[/color]
<div class="CategoryHeader">
<?php if($this->params->get('catImage') && $this->category->image): ?>
<div class="catImage">
<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;" />
</div>
<?php endif; ?>
<?php if($this->params->get('catDescription')): ?>
<div class="catDescription"><?php echo $this->category->description; ?></div>
<?php endif; ?>
</div>
<?php endif; ?>
ET VOILA
AJMG
Please Log in or Create an account to join the conversation.