Valentin Bronfort Posted January 4, 2017 Share Posted January 4, 2017 Bonjour, Je rencontre actuellement un problème qui m'arrache les cheveux .. Nous avons développé une petite fonctionnalité sur les caractéristiques et celle-ci s'affiche correctement en local mais crash une fois en ligne avec comme erreur: "Warning: array_diff(): Argument #1 is not an array in /home/facemylohr/www/tools/smarty/sysplugins/smarty_internal_templatebase.php(157) : eval()'d code on line 523" Je vous invite à regarder les pièces jointes (une en local et l'autre en ligne). D'avance merci pour votre aide. Cordialement, Link to comment Share on other sites More sharing options...
doekia Posted January 4, 2017 Share Posted January 4, 2017 Un minimum quand même. Tu as un undefined index, ça ramène donc null que tu passe a une fonction qui attend un tableau. Corrige ton code et voilà Link to comment Share on other sites More sharing options...
Valentin Bronfort Posted January 4, 2017 Author Share Posted January 4, 2017 (edited) Merci pour ta réponse Doekia. Petite précision je ne suis pas "développeur" a proprement parler et malheureusement je ne trouve pas l'erreur et le pourquoi celle-ci marche en local et non en ligne. Edited January 4, 2017 by Valentin Bronfort (see edit history) Link to comment Share on other sites More sharing options...
Valentin Bronfort Posted January 4, 2017 Author Share Posted January 4, 2017 Bon je suis toujours bloqué.. Si quelqu'un à la solution.. Link to comment Share on other sites More sharing options...
doekia Posted January 4, 2017 Share Posted January 4, 2017 La réponse est ici: "Nous avons développé une petite fonctionnalité sur les caractéristiques" C'est dans ton code que ça foire et je ne vois pas comment nous pourrions savoir comment corriger un code que nous ne voyons pas! 1 Link to comment Share on other sites More sharing options...
Valentin Bronfort Posted January 4, 2017 Author Share Posted January 4, 2017 Ta sympathie est très démonstrative Doekia. Voici le code. <section class="page-product-box"> {if !in_array(80, $categories)} {if isset($features_by_key.9.value) or isset($features_by_key.10.value) or isset($features_by_key.11.value)} <h3 {if isset($features_by_key.9.value) && $features_by_key.9.value != '#F9F9F9'} style="color:{$features_by_key.9.value};" {/if}>{l s='Monture'} :</h3> <ul class="data-sheet"> {if isset($features_by_key.9.value)} <li> <strong>{$features_by_key.9.name} : </strong> <div class="color" style="background:{$features_by_key.9.value};"></div> </li> {/if} {if isset($features_by_key.10.value)} <li> <strong>{$features_by_key.10.name} : </strong> {$features_by_key.10.value} </li> {/if} {if isset($features_by_key.11.value)} <li> <strong>{$features_by_key.11.name} : </strong> {$features_by_key.11.value} </li> {/if} </ul> {/if} {if isset($features_by_key.12.value) or isset($features_by_key.13.value) or isset($features_by_key.14.value) or isset($features_by_key.15.value) or isset($features_by_key.16.value)} <h3 {if isset($features_by_key.9.value) && $features_by_key.9.value != '#F9F9F9'} style="color:{$features_by_key.9.value};" {/if}>{l s='Verres'} :</h3> <ul class="data-sheet"> {if isset($features_by_key.12.value)} <li> <strong>{$features_by_key.12.name} : </strong> <div class="color {if isset($features_by_key.16.value) && $features_by_key.16.value=='Miroir'}mirror{/if} {if isset($features_by_key.16.value) && $features_by_key.16.value=='Dégradé'}gradient{/if}" style="background:{$features_by_key.12.value};"></div> </li> {/if} {if isset($features_by_key.13.value)} <li> <strong>{$features_by_key.13.name} : </strong> {$features_by_key.13.value} </li> {/if} {if isset($features_by_key.14.value)} <li> <strong>{$features_by_key.14.name} : </strong> {$features_by_key.14.value} </li> {/if} {if isset($features_by_key.15.value)} <li> <strong>{$features_by_key.15.name} : </strong> {$features_by_key.15.value} </li> {/if} {if isset($features_by_key.16.value)} <li> <strong>{$features_by_key.16.name} : </strong> {$features_by_key.16.value} </li> {/if} </ul> {/if} {if isset($features_by_key.18.value) or isset($features_by_key.19.value)} <h3 {if isset($features_by_key.9.value) && $features_by_key.9.value != '#F9F9F9'} style="color:{$features_by_key.9.value};" {/if}>{l s='Tailles'} :</h3> <ul class="data-sheet"> {if isset($features_by_key.18.value)} <li> <strong>{$features_by_key.18.name} : </strong> {$features_by_key.18.value} </li> {/if} {if isset($features_by_key.19.value)} <li> <strong>{$features_by_key.19.name} : </strong> {$features_by_key.19.value} </li> {/if} </ul> {/if} {/if} </section> {$custom_display = [9,10,11,12,13,14,15,16,18,19]} {assign var="features_keys" value=$features_by_key|array_keys} {assign var="other_features" value=$features_keys|array_diff:$custom_display} {if isset($other_features) && $other_features} <!-- Data sheet --> <section class="page-product-box"> <ul class="table-data-sheet"> {foreach from=$features_by_key item=feature key=key} {if in_array($key, $other_features)} <li class="{cycle values="odd,even"}"> {if isset($feature.value)} <strong>{$feature.name|escape:'html':'UTF-8'} :</strong> {$feature.value|escape:'html':'UTF-8'} {/if} </li> {/if} {/foreach} </ul> </section> <!--end Data sheet --> {/if} {if isset($product) && $product->description} <!-- More info --> <section class="page-product-box"> <!-- full description --> <div class="rte">{$product->description}</div> </section> <!--end More info --> {/if} Link to comment Share on other sites More sharing options...
Valentin Bronfort Posted January 6, 2017 Author Share Posted January 6, 2017 Personne Link to comment Share on other sites More sharing options...
doekia Posted January 7, 2017 Share Posted January 7, 2017 Ma symphatie ?!? Je vais faire comme si je n'avais rien lu, va. Encadre ton bloc {$custom_display = [9,10,11,12,13,14,15,16,18,19]} {assign var="features_keys" value=$features_by_key|array_keys} {assign var="other_features" value=$features_keys|array_diff:$custom_display} avec {if !empty($features_by_keys))} ... {/if} Un code qui reproduit exactement ta liste d'erreur est ceci. Dans lequel $a n'est pas déclaré. ~$ php -r 'print_r(array_diff(array_keys($a),array(1)));' PHP Notice: Undefined variable: a in Command line code on line 1 PHP Warning: array_keys() expects parameter 1 to be array, null given in Command line code on line 1 PHP Warning: array_diff(): Argument #1 is not an array in Command line code on line 1 Link to comment Share on other sites More sharing options...
Valentin Bronfort Posted January 9, 2017 Author Share Posted January 9, 2017 Bonjour Doekia, Merci pour ta réponse. Lorsque j'encadre le bloc par {if !empty($features_by_keys))} La page crash avec une autre erreur. Excuse moi d'abuser de tes compétences mais je suis toujours bloqué. Link to comment Share on other sites More sharing options...
Valentin Bronfort Posted January 25, 2017 Author Share Posted January 25, 2017 Juste pour information... Mon client avait simplement activé "désinstallation de toute surcharge" et non une erreur de code... Merci néanmoins pour l'aide fournie même si elle était complètement à côté du problème. Link to comment Share on other sites More sharing options...
doekia Posted January 25, 2017 Share Posted January 25, 2017 Parce qu'en plus d'être un agence et de fournir nib d'explicaton menant à un diagnostic partiel qui si tu as été incapable d'appliqué correctement, tu juges. Bravo! Link to comment Share on other sites More sharing options...
Eolia Posted January 26, 2017 Share Posted January 26, 2017 Je n'aimerai pas être le client ... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now