- Posts: 79
- Thank you received: 0
Condition sur champ personalisé
11 years 8 months ago - 11 years 8 months ago #188388
by arveni
Condition sur champ personalisé was created by arveni
-- HikaShop version -- : 2.3.5 Buisness
Bonjour,
J'ai créer un champ personnalisé (texte) de type produit que j'ai directement insérer dans la vue produit avec onglet comme ceci.
Il s'affiche bien. Cependant il s'affiche en tout le temps quelque soit les restrictions sur les utilisateurs ou sur les catégorie que je lui met.
Quelles conditions dois je ajouter pour que les restrictions marchent.
Et je pourrais également ajouter ces conditions sur le titre de l'onglet?
Bonjour,
J'ai créer un champ personnalisé (texte) de type produit que j'ai directement insérer dans la vue produit avec onglet comme ceci.
Code:
div class="hikashop_tabs_content" id="hikashop_show_tabular_essai">
<?php echo $this->element->custom_field_name; ?></div>
Il s'affiche bien. Cependant il s'affiche en tout le temps quelque soit les restrictions sur les utilisateurs ou sur les catégorie que je lui met.
Quelles conditions dois je ajouter pour que les restrictions marchent.
Et je pourrais également ajouter ces conditions sur le titre de l'onglet?
Last edit: 11 years 8 months ago by arveni.
Please Log in or Create an account to join the conversation.
11 years 8 months ago #188410
by Jerome
Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.
Replied by Jerome on topic Condition sur champ personalisé
Bonjour,
Si vous souhaitez afficher un champs personnalisé avec le système de condition et de filtre ; le mieux est de passer par le système de champs personnalisé (avec l'appel à la fonction de la classe, au chargement de la configuration des champs personnalisés, etc).
Votre code présent affiche la donnée brut qui se trouve dans l'objet, quelque soit la configuration du champs personnalisé.
Donc dans cet environnement là, vous devez rajouter vos conditions à la main.
Cordialement,
Si vous souhaitez afficher un champs personnalisé avec le système de condition et de filtre ; le mieux est de passer par le système de champs personnalisé (avec l'appel à la fonction de la classe, au chargement de la configuration des champs personnalisés, etc).
Votre code présent affiche la donnée brut qui se trouve dans l'objet, quelque soit la configuration du champs personnalisé.
Donc dans cet environnement là, vous devez rajouter vos conditions à la main.
Cordialement,
Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.
Please Log in or Create an account to join the conversation.
11 years 8 months ago #188683
by arveni
Replied by arveni on topic Condition sur champ personalisé
Auriez vous un exemple svp??
Please Log in or Create an account to join the conversation.
11 years 8 months ago #188728
by Xavier
Replied by Xavier on topic Condition sur champ personalisé
Un exemple de condition ?
Celle ci permet d'afficher la valeur que si l'utilisateur est connecté, ce sera caché pour les "invités".
Code:
<?php if(hikashop_loadUser() != null){ ?>
<div class="hikashop_tabs_content" id="hikashop_show_tabular_essai"><?php echo $this->element->custom_field_name; ?></div>
<?php } ?>
Please Log in or Create an account to join the conversation.
11 years 7 months ago #189649
by arveni
Replied by arveni on topic Condition sur champ personalisé
Est il possible d'être plus spécifique sur la classe de l'utilisateur?
si je regarde le fichier 'show_block_custom_main.php' ou même 'show.php' je ne vois pas de condition sur l'utilisateur mais je ne suis pas un expert...
Sinon j'ai essayé de créer un nouveau 'show_block_main_prix.php' que je charge dans l'onglet prix en essayant de l’épurer et de ne garder que la variable qui m’intéressait mais sans succès.
si je regarde le fichier 'show_block_custom_main.php' ou même 'show.php' je ne vois pas de condition sur l'utilisateur mais je ne suis pas un expert...
Sinon j'ai essayé de créer un nouveau 'show_block_main_prix.php' que je charge dans l'onglet prix en essayant de l’épurer et de ne garder que la variable qui m’intéressait mais sans succès.
Code:
defined('_JEXEC') or die('Restricted access');
?><?php
$this->fieldsClass->prefix = '';
$displayTitle = false;
$value = '';
if(empty($this->element->prix_pro) && !empty($this->element->main->prix_pro))
$this->element->prix_pro = $this->element->main->prix_pro;
if(isset($this->element->prix_pro))
$value = trim($this->element->prix_pro);
?>
<div id="hikashop_product_custom_info_main" class="hikashop_product_custom_info_main">
<h4><?php echo JText::_('PRIX_PRO');?></h4>
<table width="100%">
<?php
if(!empty($value) || $value === '0') {
$displayTitle = true;
?>
<tr class="hikashop_product_custom_<?php echo $fieldName->field_namekey;?>_line">
<td class="key">
<span id="hikashop_product_custom_name_<?php echo prix_pro->field_id;?>" class="hikashop_product_custom_name">
<?php echo $this->fieldsClass->getFieldName(prix_pro);?>
</span>
</td>
<td>
<span id="hikashop_product_custom_value_<?php echo prix_pro->field_id;?>" class="hikashop_product_custom_value">
<?php echo $this->fieldsClass->show(prix_pro,$value); ?>
</span>
</td>
</tr>
<?php
}?>
</table>
</div>
Please Log in or Create an account to join the conversation.
11 years 7 months ago #189682
by nicolas
Replied by nicolas on topic Condition sur champ personalisé
Comme ceci:
où XXX est l'id du groupe utilisateur pour lequel vous voulez afficher le champs.
Code:
<?php
jimport('joomla.access.access');
$user = JFactory::getUser()
$userGroups = JAccess::getGroupsByUser($user->id, true);
if(in_array(XXX,$userGroups)){ ?>
<div class="hikashop_tabs_content" id="hikashop_show_tabular_essai"><?php echo $this->element->custom_field_name; ?></div>
<?php } ?>
Please Log in or Create an account to join the conversation.
Time to create page: 0.218 seconds