- Posts: 2696
- Thank you received: 74
placeholder dans les input en boucle
12 years 6 months ago #149602
by erickb
placeholder dans les input en boucle was created by erickb
-- HikaShop version -- : 230
je veux mettre un placeholder dans les input de type text et texarea
à quelle endroit je met ca avec la valeur du label ?
merci
je veux mettre un placeholder dans les input de type text et texarea
à quelle endroit je met ca avec la valeur du label ?
Code:
$this->fieldsClass->display(
$oneExtraField,
@$this->$type->$fieldName,
'data['.$type.']['.$fieldName.']',
false,
' '.$onWhat.'="hikashopToggleFields(this.value,\''.$fieldName.'\',\''.$type.'\',0);"',
false,
$this->extraFields[$type],
$this->$type
);
merci
Please Log in or Create an account to join the conversation.
12 years 6 months ago #149652
by Xavier
Replied by Xavier on topic placeholder dans les input en boucle
Bonjour,
Il faut faire une modification tel que:
Il faut faire une modification tel que:
Code:
<div id="hikashop_product_custom_item_info" class="hikashop_product_custom_item_info">
<table width="100%">
<?php
foreach ($this->itemFields as $fieldName => $oneExtraField) {
$placeHolder = '';
if($oneExtraField->field_type == 'text' || $oneExtraField->field_type == 'textarea')
$placeHolder = 'placeholder="default value"';
$itemData = JRequest :: getString('item_data_' . $fieldName, $this->element-> $fieldName);
?>
<tr id="hikashop_item_<?php echo $oneExtraField->field_namekey; ?>" class="hikashop_item_<?php echo $oneExtraField->field_namekey;?>_line">
<td class="key">
<span id="hikashop_product_custom_item_name_<?php echo $oneExtraField->field_id;?>" class="hikashop_product_custom_item_name">
<?php echo $this->fieldsClass->getFieldName($oneExtraField);?>
</span>
</td>
<td>
<span id="hikashop_product_custom_item_value_<?php echo $oneExtraField->field_id;?>" class="hikashop_product_custom_item_value"><?php
$onWhat='onchange';
if($oneExtraField->field_type=='radio')
$onWhat='onclick';
$oneExtraField->product_id = $this->element->product_id;
echo $this->fieldsClass->display($oneExtraField,$itemData,'data[item]['.$oneExtraField->field_namekey.']',false,' '.$placeHolder.' '.$onWhat.'="hikashopToggleFields(this.value,\''.$fieldName.'\',\'item\',0);"');
?></span>
</td>
</tr>
<?php
}
?>
</table>
</div>
The following user(s) said Thank You: erickb
Please Log in or Create an account to join the conversation.
12 years 6 months ago #149653
by erickb
Replied by erickb on topic placeholder dans les input en boucle
je vais regarder tout ça
merci
merci
Please Log in or Create an account to join the conversation.
12 years 6 months ago - 12 years 6 months ago #149667
by erickb
Replied by erickb on topic placeholder dans les input en boucle
comment ajoutez vous une class aux input ?
je veux ajouter la class required
et comment supprimer dans la boucle les <span class="hikashop_field_required">*</span>
merci
je veux ajouter la class required
Code:
$requis = '';
$required = $oneExtraField->field_required;
if($required == 1){
$requis = ' required';
}
echo $this->fieldsClass->display(
$oneExtraField,
$this->$type->$fieldName,
'data['.$type.']['.$fieldName.']',
false,' '.$placeHolder.
''.$onWhat.'="hikashopToggleFields(this.value,\''.$fieldName.'\',\''.$type.'\',0);"',
false,
$this->extraFields[$type],
$this->$type
);
et comment supprimer dans la boucle les <span class="hikashop_field_required">*</span>
merci
Last edit: 12 years 6 months ago by erickb.
Please Log in or Create an account to join the conversation.
12 years 6 months ago #149672
by Xavier
Replied by Xavier on topic placeholder dans les input en boucle
Cela fonctionne, testé en local. Editez vous bien la vue "product / show_block_custom_item" ?
Code:
<div id="hikashop_product_custom_item_info" class="hikashop_product_custom_item_info">
<table width="100%">
<?php
foreach ($this->itemFields as $fieldName => $oneExtraField) {
$placeHolder = '';
if($oneExtraField->field_type == 'text' || $oneExtraField->field_type == 'textarea')
$placeHolder = 'placeholder="'.$oneExtraField->field_realname.'"';
$itemData = JRequest :: getString('item_data_' . $fieldName, $this->element-> $fieldName);
?>
<tr id="hikashop_item_<?php echo $oneExtraField->field_namekey; ?>" class="hikashop_item_<?php echo $oneExtraField->field_namekey;?>_line">
<td class="key">
<span id="hikashop_product_custom_item_name_<?php echo $oneExtraField->field_id;?>" class="hikashop_product_custom_item_name">
<?php echo $this->fieldsClass->getFieldName($oneExtraField);?>
</span>
</td>
<td>
<span id="hikashop_product_custom_item_value_<?php echo $oneExtraField->field_id;?>" class="hikashop_product_custom_item_value"><?php
$onWhat='onchange';
if($oneExtraField->field_type=='radio')
$onWhat='onclick';
$oneExtraField->product_id = $this->element->product_id;
echo $this->fieldsClass->display($oneExtraField,$itemData,'data[item]['.$oneExtraField->field_namekey.']',false,' '.$placeHolder.' '.$onWhat.'="hikashopToggleFields(this.value,\''.$fieldName.'\',\'item\',0);"');
?></span>
</td>
</tr>
<?php
}
?>
</table>
</div>
Please Log in or Create an account to join the conversation.
12 years 6 months ago - 12 years 6 months ago #149749
by erickb
Replied by erickb on topic placeholder dans les input en boucle
oui ca marche mais ma deuxième question :
comment virer ce span avec * (voir ma question ci dessus)
et ajouter un class="required" à la place ?
tel quel c'est très dur de garder un code souple et coherent , tout est génère en amont et le html + css est dur ou impossible à changer
merci
comment virer ce span avec * (voir ma question ci dessus)
et ajouter un class="required" à la place ?
tel quel c'est très dur de garder un code souple et coherent , tout est génère en amont et le html + css est dur ou impossible à changer
merci
Last edit: 12 years 6 months ago by erickb.
Please Log in or Create an account to join the conversation.
12 years 6 months ago #149821
by nicolas
Replied by nicolas on topic placeholder dans les input en boucle
Il n'y a jamais rien d'impossible à changer en programmation. Ca peut en effet être compliqué dans certains cas. Mais ici, rien de très compliqué.
Vous pourriez faire par exemple comme cela:
Vous pourriez faire par exemple comme cela:
Code:
echo sre_replace('<span class="hikashop_field_required">*</span>','',$this->fieldsClass->display($oneExtraField,$itemData,'data[item]['.$oneExtraField->field_namekey.']',false,' class="required" '.$placeHolder.' '.$onWhat.'="hikashopToggleFields(this.value,\''.$fieldName.'\',\'item\',0);"'));
Please Log in or Create an account to join the conversation.
12 years 6 months ago #149847
by erickb
Replied by erickb on topic placeholder dans les input en boucle
Je peux bien sur tout re-ecrire mais je parlais de l'insertion dans votre boucle
merci pour l'info
sinon dans une version future un placeholder en natif yes/no serait vraiment un plus pour les petits écran et versions mobiles
merci pour l'info
sinon dans une version future un placeholder en natif yes/no serait vraiment un plus pour les petits écran et versions mobiles
Please Log in or Create an account to join the conversation.
Time to create page: 0.233 seconds