Bonjour,
Il me reste quelques pages avec des erreurs 500 en mode debug uniquement & sous PHP 7.4 (aucun problème sous PHP 7.3) avec un thème custom (pas d'assistance possible) et PS 1.7.8.11.
J'ai identifié la source du problème (concernant les pages "catégorie") : si et uniquement si il n'y a pas d'image de "couverture de la catégorie", alors j'ai un avertissement en mode debug "ContextErrorException ; Notice: Trying to access array offset on value of type NULL".
Voici le passage concerné dans mon fichier "microdata-jsonld.tpl" :
{elseif $page.page_name === 'category' && isset($category) && $category.image.large.url}
J'ai modifié le code de cette façon, l'erreur faisant référence à microdata-jsonld.tpl à disparu :
{elseif $page.page_name === 'category' && isset($category) && isset($category.image.large.url)}
Il reste maintenant la deuxième référence qui pointe maintenant sur le fichier "category-header.tpl", voici mon fichier "category-header.tpl" actuellement :
{if ($category.description || $category.image.large.url) && $listing.pagination.items_shown_from == 1} <div class="d-flex"> <!--{if $category.description} <div id="category-description" class="text-muted">{$category.description nofilter}</div> {/if}--> {if $category.image.large.url} <div class="category-cover"> <img src="{$category.image.large.url}" class="lazyload" alt="{if !empty($category.image.legend)}{$category.image.legend}{else}{$category.name}{/if}"> </div> {/if} </div> {/if}
J'ai modifié le code comme suit, à priori cela semble ok, pouvez-vous me dire si la modification est correcte ? :
{if ($category.description || isset($category.image.large.url)) && $listing.pagination.items_shown_from == 1} <div class="d-flex"> <!--{if $category.description} <div id="category-description" class="text-muted">{$category.description nofilter}</div> {/if}--> {if isset($category.image.large.url)} <div class="category-cover"> <img src="{$category.image.large.url}" class="lazyload" alt="{if !empty($category.image.legend)}{$category.image.legend}{else}{$category.name}{/if}"> </div> {/if} </div> {/if}
--> Reste donc une dernière erreur sur mes pages catégories qui ont des sous-catégories : ContextErrorException
Notice: Undefined index: subcategory_custom, avec une mention dans le fichier "category.tpl" :
<div id="subcategories"> <p class="subcategory-heading">{l s='Sous-catégories'}</p> <ul class="clearfix"> {foreach from=$subcategories item=subcategory} <li> <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'html':'UTF-8'}" title="{$subcategory.name|escape:'html':'UTF-8'}" class="img"> <img class="img-fluid lazyloaded replace-2x" src="{$subcategory.image.bySize.subcategory_custom.url}" alt="{$subcategory.name|escape:'html':'UTF-8'}" /> </a> <h5><a class="subcategory-name" href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'html':'UTF-8'}">{$subcategory.name|truncate:25:'...'|escape:'html':'UTF-8'}</a></h5> </li> {/foreach} </ul> </div>
Modifications apportées :
{if isset($subcategories)} <!-- Subcategories --> <div id="subcategories"> <p class="subcategory-heading">{l s='Sous-catégories'}</p> <ul class="clearfix"> {foreach from=$subcategories item=subcategory} <li> <div class="subcategory-image"> <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'html':'UTF-8'}" title="{$subcategory.name|escape:'html':'UTF-8'}" class="img"> {if $subcategory.id_image} <img class="replace-2x" src="{$link->getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'category_default')|escape:'html':'UTF-8'}" alt="{$subcategory.name|escape:'html':'UTF-8'}"/> {else} <img class="replace-2x" src="{$img_cat_dir}{$lang_iso}-default-category_default.jpg" alt="{$subcategory.name|escape:'html':'UTF-8'}"/> {/if} </a> <h5><a class="subcategory-name" href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'html':'UTF-8'}">{$subcategory.name|truncate:25:'...'|escape:'html':'UTF-8'}</a></h5> </div> </li> {/foreach} </ul> </div> {/if}
EDIT : j'ai apporté des modifications qui semblent régler les problèmes.
Merci de poster un message si mes corrections ne sont pas bonnes, ca pourrait peut-être servir à d'autres personne.
Merci !