Besoin d'afficher la description d'une sous-catégorie

  • Posts: 621
  • Thank you received: 18
  • Hikaserial Subscription Hikashop Business
5 years 3 months ago #302930

Bonjour, j'ai besoin d'afficher les descriptions des sous-catégories sous leurs titres qui sont affichés dans la page de sa catégorie parente.

J'ai trouvé la vue où je dois ajouter le code ( Category / listing_title.php) , mais je n'ai pas trouvé le code PHP à utiliser pour que ça fonctionne.

Pouvez-vous m'aider en m'indicquant le code à ajouter?

Merci,

Références:

www.dialogo2.lesoufflard.com/services/in...illante-au-quotidien



www.dialogo2.lesoufflard.com/services/individus

Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 81513
  • Thank you received: 13068
  • MODERATOR
5 years 3 months ago #302934

C'est en effet dans category / listing_title.php qu'il faut rajouter du code.
Le code à rajouter n'est pas très compliqué.
Si vous lisez le code dans ce fichier, vous verrez que le nom de la catégorie est affiché avec le code:
echo $this->row->category_name;

Donc pour la description c'est pareil:
echo $this->row->category_description;

The following user(s) said Thank You: patoushka

Please Log in or Create an account to join the conversation.

  • Posts: 621
  • Thank you received: 18
  • Hikaserial Subscription Hikashop Business
5 years 2 months ago #303545

Ça fonctionne à merveille !

J'ai besoin également de faire afficher l'image de la même catégorie.

J'ai essayé avec ça, mais ça ne fonctionne pas.
<?php echo $this->row->category_image; ?>

J'avoue ne pas être très avancé en .php. Quelle serait le code pour l'image?

Merci,

Please Log in or Create an account to join the conversation.

  • Posts: 81513
  • Thank you received: 13068
  • MODERATOR
5 years 2 months ago #303548

Bonjour,

Regardez le code de listing_img_title. C'est cette vue utilisée pour afficher une catégorie en mode "div". Vous pouvez utiliser le même code dans listing_list.

Please Log in or Create an account to join the conversation.

  • Posts: 621
  • Thank you received: 18
  • Hikaserial Subscription Hikashop Business
5 years 2 months ago #303560

Merci pour votre conceil. Ça me permet de mieux comprendre le fonctionnement de Hikashop.

J'ai essayé avec ce code:

<?php
$image_options = array('default' => true,'forcesize'=>$this->config->get('image_force_size',true),'scale'=>$this->config->get('image_scale_mode','inside'));
$img = $this->image->getThumbnail(@$this->row->file_path, array('width' => $this->image->main_thumbnail_x, 'height' => $this->image->main_thumbnail_y), $image_options);
if(!empty($img) && $img->success)
echo '<img class="hikashop_product_listing_image" title="'.$this->escape(@$this->row->file_description).'" alt="'.$this->escape(@$this->row->file_name).'" src="'.$img->url.'"/>';
?>

Je vois l'image, mais c'est un tout petit thumbnail de 100px x 100px



j'aimerais l'avoir plus grande comme dans cette vue:


J'ai essayé de trouver dans la vue categy / listing.php mais le code est complexe pour moi et je n'ai pas trouvé. Ce serait quoi le bout de code à utiliser?

Merci encore une fois.

Voici le code complet de category / listing.php:
<?php
/**
* @package HikaShop for Joomla!
* @version 4.0.0
* @author hikashop.com
* @copyright (C) 2010-2018 HIKARI SOFTWARE. All rights reserved.
* @license GNU/GPLv3 www.gnu.org/licenses/gpl-3.0.html
*/
defined('_JEXEC') or die('Restricted access');
?><?php
ob_start();

$title_key = 'show_page_heading';

$titleType = 'h1';
if($this->module) {
$title_key = 'showtitle';
$titleType = 'h2';
}

$title = $this->params->get($title_key);
if(empty($title) && $title_key == 'show_page_heading') {
$params = JComponentHelper::getParams('com_menus');
$title = $params->get($title_key);
}

if(!empty($title) && hikaInput::get()->getVar('hikashop_front_end_main', 0)){
if($this->module) {
$heading = $this->params->get('title');
} else {
$heading = $this->params->get('page_title');
if($this->params->get('page_heading')){
$heading = $this->params->get('page_heading');
}
}
?>
<<?php echo $titleType; ?>>
<?php echo $heading; ?>
</<?php echo $titleType; ?>>
<?php
}
if(!$this->module){
if(isset($this->element->category_canonical) && !empty($this->element->category_canonical)){
$canonicalUrl = hikashop_cleanURL($this->element->category_canonical);

$doc = JFactory::getDocument();
$doc->addCustomTag( '<link rel="canonical" href="'.$canonicalUrl.'" />' );
}
if(($this->params->get('show_image') && !empty($this->element->file_path))|| ($this->params->get('show_description')&&!empty($this->element->category_description))){
?>
<div class="hikashop_category_description">
<?php
if($this->params->get('show_image') && !empty($this->element->file_path)){
jimport('joomla.filesystem.file');
if(JFile::exists($this->image->getPath($this->element->file_path,false))){
?>
<img src="<?php echo $this->image->getPath($this->element->file_path); ?>" class="hikashop_category_image" title="<?php echo $this->escape(@$this->element->file_description); ?>" alt="<?php echo $this->escape(@$this->element->file_name); ?>"/>
<?php
}
}
if($this->params->get('show_description',1)&&!empty($this->element->category_description)){
?>
<div class="hikashop_category_description_content">
<?php echo JHTML::_('content.prepare',$this->element->category_description); ?>
</div>
<?php
}
?>
</div>
<?php
}
if(!empty($this->fields)){ ?>

<?php
ob_start();
$this->fieldsClass->prefix = '';
foreach($this->fields as $fieldName => $oneExtraField) {
if(!empty($this->element->$fieldName)){ ?>
<tr class="hikashop_category_custom_<?php echo $oneExtraField->field_namekey;?>_line">
<td class="key">
<span id="hikashop_category_custom_name_<?php echo $oneExtraField->field_id;?>" class="hikashop_category_custom_name">
<?php echo $this->fieldsClass->getFieldName($oneExtraField);?>
</span>
</td>
<td>
<span id="hikashop_category_custom_value_<?php echo $oneExtraField->field_id;?>" class="hikashop_category_custom_value">
<?php echo $this->fieldsClass->show($oneExtraField,$this->element->$fieldName); ?>
</span>
</td>
</tr>
<?php }
}
$custom_fields_html = ob_get_clean();
if(!empty($custom_fields_html)){ ?>
<div id="hikashop_category_custom_info_main" class="hikashop_category_custom_info_main">
<h4><?php echo JText::_('CATEGORY_ADDITIONAL_INFORMATION');?></h4>
<table class="hikashop_category_custom_info_main_table">
<?php echo $custom_fields_html; ?>
</table>
</div>
<?php }
}
}

$layout_type = $this->params->get('layout_type');
if(empty($layout_type) || $layout_type=='table') $layout_type = 'div';
$html = $this->loadTemplate($layout_type);
if(!empty($html)) echo '<div class="hikashop_subcategories_listing">'.$html.'</div>';

if(!$this->module){
$data = $this->params->get('data');
if(empty($data)) {
$hk_p = $this->params->get('hk_product');
if(!empty($hk_p)) {
$data = new stdClass();
$data->hk_product = $hk_p;
}
}
if(isset($data->hk_product) && (is_object($data->hk_product) || is_array($data->hk_product))) {
$js = '';
$empty='';
jimport('joomla.html.parameter');
$params = new HikaParameter($empty);
foreach($data->hk_product as $k => $v){
$params->set($k,$v);
}
$main_div_name = 'hikashop_category_information_module_'.$params->get('id');
$params->set('main_div_name',$main_div_name);
echo '<div class="hikashop_submodules" style="clear:both">'.hikashop_getLayout('product', 'listing', $params, $js).'</div>';
}
else if(!empty($this->modules)){
$html = '';
jimport('joomla.application.module.helper');
foreach($this->modules as $module){
$html .= JModuleHelper::renderModule($module);
}
if(!empty($html)){
echo '<div class="hikashop_submodules" style="clear:both">'.$html.'</div>';
}
}
}
$html = ob_get_clean();
if(!empty($html)){
$category_id = 0;
if(!empty($this->element->category_id))
$category_id = $this->element->category_id;
if(!empty($this->row->category_id))
$category_id = $this->row->category_id;
?>
<div id="<?php echo $this->params->get('main_div_name');?>" class="hikashop_category_information hikashop_categories_listing_main hikashop_category_listing_<?php echo $category_id; ?>">
<?php echo $html; ?>
</div>
<?php } ?>

Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 81513
  • Thank you received: 13068
  • MODERATOR
5 years 2 months ago #303566

Bonjour,

Changez $this->image->main_thumbnail_x par le nombre de pixels que vous voulez pour la largeur et $this->image->main_thumbnail_y par le nombre de pixels que vous voulez pour la hauteur et vous aurez la miniature à la taille souhaitée.

Please Log in or Create an account to join the conversation.

  • Posts: 621
  • Thank you received: 18
  • Hikaserial Subscription Hikashop Business
5 years 2 months ago #303737

Merci pour votre réponse. C'est instructif, mais j'ai encore des soucis à y arriver.

J'ai entré 1200 pour le width et 600 pour le height, mais à l'affichage j'obtiens 230 et 160. Avez-vous une idée de la cause?

Merci,

Code utilisé:

$image_options = array('default' => true,'forcesize'=>$this->config->get('image_force_size',true),'scale'=>$this->config->get('image_scale_mode','inside'));
$img = $this->image->getThumbnail(@$this->row->file_path, array('width' => 1200, 'height' => 600), $image_options);


Attachments:

Please Log in or Create an account to join the conversation.

  • Posts: 81513
  • Thank you received: 13068
  • MODERATOR
5 years 2 months ago #303744

Bonjour,

Déjà la taille de l'image que vous avez uploadé est 650*450. Donc impossible d'avoir une miniature plus grande que l'image originale...
Et si le récupère le lien de l'image de cette page, sa taille est bien celle que vous voulez:
monosnap.com/file/RQqRDORCWIVSArixsOcND5kwA2gvvx
Cependant:
1. Comme la miniature souhaitée est plus grande que l'image originale, de la transparence est rajoutée autour.
2. Vous avez du CSS qui force la taille des images à la taille maximum offerte par leur contenant:
monosnap.com/file/mDIOj4WqSJrZnwJHcAHKredM6DvM5m
Du coup, la taille de la miniature est réduite.
C'est deux points ensemble renforce la réduction de la miniature car la zone disponible n'ayant que 822 pixels sur mon écran (cela dépend de la résolution), la miniature est réduite de 1200px à 822px, mais la zone non transparente, elle, ne fait que 650px et elle est donc réduite avec cette même proportion: 650 * 822 / 1200 = 445px sur mon écran.

Please Log in or Create an account to join the conversation.

Time to create page: 0.101 seconds
Powered by Kunena Forum