- Posts: 206
- Thank you received: 7
Afficher et cacher des champs custom
4 years 11 months ago - 4 years 11 months ago #336146
by c-line
Afficher et cacher des champs custom was created 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
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
-- 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;
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.
4 years 11 months ago #336149
by nicolas
Replied by nicolas on topic Afficher et cacher des champs custom
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.
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.
4 years 11 months ago #336167
by c-line
Replied by c-line on topic Afficher et cacher des champs custom
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
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.
4 years 11 months ago - 4 years 11 months ago #336171
by Philip
Replied by Philip on topic Afficher et cacher des champs custom
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.
Ou bien, afficher au cas par cas plusieurs custom field :
En espérant que cela vous aide à obtenir ce dont vous avez besoin.
Cordialement
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;
...
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.
4 years 11 months ago #336175
by c-line
Replied by c-line on topic Afficher et cacher des champs custom
Please Log in or Create an account to join the conversation.
4 years 11 months ago #336176
by nicolas
Replied by nicolas on topic Afficher et cacher des champs custom
Bonjour,
Pour les champs de type texte, c'est très facile.
Il suffit d'utiliser ce code:
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:
Pour les champs de type texte, c'est très facile.
Il suffit d'utiliser ce code:
Code:
<?php echo $this->element->xxx; ?>
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.
4 years 11 months ago #336249
by c-line
Replied by c-line on topic Afficher et cacher des champs custom
ok merci beauxoup
Please Log in or Create an account to join the conversation.
4 years 10 months ago #337379
by c-line
Replied by c-line on topic Afficher et cacher des champs custom
Re bonjour
comment je pourrait trouver le product brand ou l'auteur d'un produit ?
MErci par avance
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.
4 years 10 months ago #337381
by nicolas
Replied by nicolas on topic Afficher et cacher des champs custom
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:
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.
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>";
}
}
?>
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.
4 years 8 months ago #338770
by c-line
Replied by c-line on topic Afficher et cacher des champs custom
super c'est top
petit retours avec joomla 4
pour afficher la valeur d'une liste déroulante
il me renvoi ceci
normal ? j'ai fait une bétise ?
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>
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
Please Log in or Create an account to join the conversation.
4 years 8 months ago #338771
by c-line
Replied by c-line on topic Afficher et cacher des champs custom
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