Condition sur champ personalisé

  • Posts: 79
  • Thank you received: 0
9 years 2 months ago #188388

-- 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.

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: 9 years 2 months ago by arveni.

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

  • Posts: 25997
  • Thank you received: 4004
  • MODERATOR
9 years 2 months ago #188410

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,


Jerome - Obsidev.com
HikaMarket & HikaSerial developer / HikaShop core dev team.

Also helping the HikaShop support team when having some time or couldn't sleep.
By the way, do not send me private message, use the "contact us" form instead.

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

  • Posts: 79
  • Thank you received: 0
9 years 2 months ago #188683

Auriez vous un exemple svp??

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

  • Posts: 13201
  • Thank you received: 2322
9 years 2 months ago #188728

Un exemple de condition ?

<?php if(hikashop_loadUser() != null){ ?>
<div class="hikashop_tabs_content" id="hikashop_show_tabular_essai"><?php echo $this->element->custom_field_name; ?></div>
<?php } ?>
Celle ci permet d'afficher la valeur que si l'utilisateur est connecté, ce sera caché pour les "invités".

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

  • Posts: 79
  • Thank you received: 0
9 years 2 months ago #189649

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.

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.

  • Posts: 81428
  • Thank you received: 13058
  • MODERATOR
9 years 2 months ago #189682

Comme ceci:

<?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 } ?>
où XXX est l'id du groupe utilisateur pour lequel vous voulez afficher le champs.

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

Time to create page: 0.076 seconds
Powered by Kunena Forum