Skip to main content

Afficher et cacher des champs custom

More
4 years 11 months ago - 4 years 11 months ago #336146 by c-line
-- HikaShop version -- : 4.4.3
-- Joomla version -- : 4.0.3

hello
je me penche sur la partie templating de la page product
je voudrais desactiver des champs custom lors de la boucle dans product / show_block_custom_main.php
j'ai essayer
Code:
foreach ($this->fields as $fieldName => $oneExtraField) { if($fieldName!='extrait') continue;
mon champ s'appelle extrait mais cela ne fonctionne pas il n'est pas cacher
et comment l'afficher ailleur quel est le code pour appeler 1 champs
MErci par avance
Last edit: 4 years 11 months ago by c-line.

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

More
4 years 11 months ago #336149 by nicolas
Bonjour,

Le code que vous avez rajouter va enlever tous les champs produit autre que "extrait".
Donc ce code ne change rien pour extrait.
Donc vérifiez qu'il s'affiche bien sans la modification grâce aux options d'affichage du champ.
Si c'est le cas, et qu'avec ce code il ne s'affiche plus, c'est que le nom de colonne de votre champ n'est pas "extrait" mais quelque chose d'autre.

Concernant le fait d'afficher la valeur d'un champs personnalisé ailleurs, difficile de répondre par une unique réponse. Cela dépend de la table et du type du champ ainsi que de l'endroit où vous voulez l'afficher.

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

More
4 years 11 months ago #336167 by c-line
ok en fait je suis sur la vue product / show_default.php
j'ai créer plusieur champs de type text, date etc lié au produit
et en fait je dois pouvoir afficher les champs de manière individuelle et non pas dans une boucle pour les placer en fonction d'un design précis

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

More
4 years 11 months ago - 4 years 11 months ago #336171 by Philip
Bonjour,

Désolé pour ce retour mais avec votre dernier message nous ne sommes pas sur de comprendre comment rebondir.
En détails, qu'entendez vous par "design précis" ?

Ce que nous pouvons précisé de notre coté, c'est que comme le disait Nicolas, vous pouvez selectionner les custom field à afficher seulement sur certaines page produits spécifiques.

Exemples :
Vue override customisé, AVEC la vue override séléctionner pour la ou les pages page Produits dans la partie "Display" avec l'Option "Page layout" OU BIEN directement, dans cette même option "Layout on product page" mais cette fois dans la page paramètre de chaque catégorie.
Code:
// Afficher uniquement les custom field avec le nom "extrait" : foreach ($this->fields as $fieldName => $oneExtraField) { if($fieldName == 'extrait') continue; ...
Ou bien, afficher au cas par cas plusieurs custom field :
Code:
// Selectioner par field name : foreach ($this->fields as $fieldName => $oneExtraField) { if($fieldName == 'name1') continue; if($fieldName == 'name2') continue; etc... ...

En espérant que cela vous aide à obtenir ce dont vous avez besoin.
Cordialement
Last edit: 4 years 11 months ago by Philip.

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

More
4 years 11 months ago #336175 by c-line
En fait j'ai un article en 2 colonnes
et je veus pouvoir mettre dans champs dans chaque colonne indépendamment
exemple

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

More
4 years 11 months ago #336176 by nicolas
Bonjour,

Pour les champs de type texte, c'est très facile.
Il suffit d'utiliser ce code:
Code:
<?php echo $this->element->xxx; ?>
où xxx est le nom de colonne du champs personnalisé.
Ce code va afficher la valeur stockée en base de données. Du coup, pour les champs de sélection, ou de date, cela n'affichera pas ce que vous voulez. Pour cela, il faudra plutôt utiliser:
Code:
<?php $class = hikashop_get('class.field'); $field = $class->getField('xxx','product'); echo $class->show($field, $this->element->xxx); ?>

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

More
4 years 11 months ago #336249 by c-line
ok merci beauxoup

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

More
4 years 10 months ago #337379 by c-line
Re bonjour
comment je pourrait trouver le product brand ou l'auteur d'un produit ?
MErci par avance

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

More
4 years 10 months ago #337381 by nicolas
Bonjour,

Le fabricant (brand) d'un produit est affiché par défaut par HikaShop sur la page du produit.
C'est affiché par le code:
Code:
<?php if($this->config->get('manufacturer_display', 0) && !empty($this->element->product_manufacturer_id)){ $categoryClass = hikashop_get('class.category'); $manufacturer = $categoryClass->get($this->element->product_manufacturer_id); if($manufacturer->category_published){ $menuClass = hikashop_get('class.menus'); $Itemid = $menuClass->loadAMenuItemId('manufacturer','listing'); if(empty($Itemid)){ $Itemid = $menuClass->loadAMenuItemId('',''); } $categoryClass->addAlias($manufacturer); echo JText::_('MANUFACTURER').': '.'<a href="'.hikashop_contentLink('category&task=listing&cid='.$manufacturer->category_id.'&name='.$manufacturer->alias.'&Itemid='.$Itemid,$manufacturer).'">'.$manufacturer->category_name.'</a>'; echo "<span style='display:none;' itemprop='brand'>". $manufacturer->category_name ."</span>"; } } ?>
dans le fichier show_block_dimensions.php
Ce code peut également être utilisé dans show_default.php ou show_tabular.php si vous souhaitez le placer ailleurs sur la page produit.

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

More
4 years 8 months ago #338770 by c-line
super c'est top
petit retours avec joomla 4
Code:
$class = hikashop_get('class.field'); $field = $class->getField('art_category','product'); ?> <span><?php echo $class->show($field, $this->element-art_category); ?></span>
pour afficher la valeur d'une liste déroulante
il me renvoi ceci
Code:
Warning: Use of undefined constant art_category - assumed 'art_category' (this will throw an Error in a future version of PHP) in /..../templates/..../html/com_hikashop/product/show_default.php on line 224 Notice: Object of class stdClass could not be converted to number in /..../templates/..../html/com_hikashop/product/show_default.php on line 224 Warning: A non-numeric value encountered in /..../templates/..../html/com_hikashop/product/show_default.php on line 224 Article
normal ? j'ai fait une bétise ?

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

More
4 years 8 months ago #338771 by c-line
c'est moi l'erreur j'ai trouv" ..
Code:
<span><?php echo $class->show($field, $this->element->art_category); ?></span>
The following user(s) said Thank You: Philip

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

Time to create page: 0.257 seconds
Powered by Kunena Forum