Jump to content

Edit History

gouna

gouna

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 essayé de modifier le code de cette façon (est-ce correct ?) :

{elseif $page.page_name === 'category' && isset($category) && isset($category.image.large.url)}

Du coup l'erreur pointe maintenant sur le fichier "category-header.tpl", mais cela concerne maintenant le cas ou on laisse le champs "Balise titre" vide. Voici mon fichier "category-header.tpl" actuellement :

<div class="block-category card-block visible--desktop">
    {*<div id="_desktop_category_header">
        <h1 class="h1">{$category.name}{if isset($smarty.get.page) && $smarty.get.page > 1} <span class="small"> - Page {$smarty.get.page}</span>{/if}</h1>
    </div>*}
    {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}
</div>
<div class="_mobile_category_header"></div>

Et la partie concernant "$category.name" qui a été transféré dans "layout-both-columns.tpl" :

{if $page.page_name == 'category'}
				<div class="name_category">
					<h1 class="breadcrum-title">{$category.name}{if isset($smarty.get.page) && $smarty.get.page > 1} <span class="small"> - Page {$smarty.get.page}</span>{/if}</h1>
				</div> 
			{elseif $page.page_name == 'product'}
				<div class="name_product">
					{block name='page_header_container'}
					{block name='page_header'}
						<h1 class="breadcrum-title">{block name='page_title'}{$product.name}{/block}</h1>
					{/block}
					{/block}
				</div> 
			{else}
				<div class="name_h1">
				<h1 class="breadcrum-title">{block name='page_title'}{$page.meta.title} {/block}</h1>
				</div>
			{/if}

Merci pour votre aide :-)

gouna

gouna

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" :

{if isset($product) && $page.page_name == 'product'}
  <meta property="og:type" content="product"/>
  {if $product.images|count > 0}
    {foreach from=$product.images item=p_img name="p_img_list"}
      <meta property="og:image" content="{$p_img.large.url}"/>
    {/foreach}
    <meta property="og:image:height" content="{$p_img.large.height}"/>
    <meta property="og:image:width" content="{$p_img.large.width}"/>

  {/if}
  {if $product.show_price}
    <meta property="product:price:amount" content="{$product.price_amount}" />
    <meta property="product:price:currency" content="{$currency.iso_code}" />
    {if $product.has_discount}
      <meta property="product:price:standard_amount" content="{$product.regular_price_amount}" />
    {/if}
  {/if}
  {if $product_manufacturer->name}
    <meta property="product:brand" content="{$product_manufacturer->name|escape:'html':'UTF-8'}" />
  {/if}
  <meta property="og:availability" content="{if $product.quantity_all_versions > 0 || $product.allow_oosp > 0}instock{else}out of stock{/if}" />
{elseif $page.page_name === 'category' && isset($category) && $category.image.large.url}
    <meta property="og:image" content="{$category.image.large.url}"/>
{else}
    <meta property="og:image" content="{$shop.logo}"/>
{/if}

J'image que c'est ce passage qui n'est pas conforme au PHP 7.4 :

{elseif $page.page_name === 'category' && isset($category) && $category.image.large.url}

Si quelqu'un pourrait m'aiguiller afin de corriger cette erreur.
Merci beaucoup !


Ps: j'ai essayé de modifier le code de cette façon :

{elseif $page.page_name === 'category' && isset($category) && isset($category.image.large.url)}

du coup l'erreur pointe maintenant sur le fichier "category-header.tpl", mais cela concerne maintenant le cas ou on laisse le champs "Balise titre" vide :

<div class="block-category card-block visible--desktop">
    <div id="_desktop_category_header">
        <h1 class="h1">{$category.name}{if isset($smarty.get.page) && $smarty.get.page > 1} <span class="small"> - Page {$smarty.get.page}</span>{/if}</h1>
    </div>
    {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}
</div>
<div class="_mobile_category_header"></div>

 

gouna

gouna

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" :

{if isset($product) && $page.page_name == 'product'}
  <meta property="og:type" content="product"/>
  {if $product.images|count > 0}
    {foreach from=$product.images item=p_img name="p_img_list"}
      <meta property="og:image" content="{$p_img.large.url}"/>
    {/foreach}
    <meta property="og:image:height" content="{$p_img.large.height}"/>
    <meta property="og:image:width" content="{$p_img.large.width}"/>

  {/if}
  {if $product.show_price}
    <meta property="product:price:amount" content="{$product.price_amount}" />
    <meta property="product:price:currency" content="{$currency.iso_code}" />
    {if $product.has_discount}
      <meta property="product:price:standard_amount" content="{$product.regular_price_amount}" />
    {/if}
  {/if}
  {if $product_manufacturer->name}
    <meta property="product:brand" content="{$product_manufacturer->name|escape:'html':'UTF-8'}" />
  {/if}
  <meta property="og:availability" content="{if $product.quantity_all_versions > 0 || $product.allow_oosp > 0}instock{else}out of stock{/if}" />
{elseif $page.page_name === 'category' && isset($category) && $category.image.large.url}
    <meta property="og:image" content="{$category.image.large.url}"/>
{else}
    <meta property="og:image" content="{$shop.logo}"/>
{/if}

J'image que c'est ce passage qui n'est pas conforme au PHP 7.4 :

{elseif $page.page_name === 'category' && isset($category) && $category.image.large.url}

Si quelqu'un pourrait m'aiguiller afin de corriger cette erreur.
Merci beaucoup !


Ps: j'ai essayé de modifier le code de cette façon :

{elseif $page.page_name === 'category' && isset($category) && isset($category.image.large.url)}

du coup l'erreur pointe maintenant sur le fichier "category-header.tpl" :

<div class="block-category card-block visible--desktop">
    <div id="_desktop_category_header">
        <h1 class="h1">{$category.name}{if isset($smarty.get.page) && $smarty.get.page > 1} <span class="small"> - Page {$smarty.get.page}</span>{/if}</h1>
    </div>
    {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}
</div>
<div class="_mobile_category_header"></div>

 

gouna

gouna

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" :

{if isset($product) && $page.page_name == 'product'}
  <meta property="og:type" content="product"/>
  {if $product.images|count > 0}
    {foreach from=$product.images item=p_img name="p_img_list"}
      <meta property="og:image" content="{$p_img.large.url}"/>
    {/foreach}
    <meta property="og:image:height" content="{$p_img.large.height}"/>
    <meta property="og:image:width" content="{$p_img.large.width}"/>

  {/if}
  {if $product.show_price}
    <meta property="product:price:amount" content="{$product.price_amount}" />
    <meta property="product:price:currency" content="{$currency.iso_code}" />
    {if $product.has_discount}
      <meta property="product:price:standard_amount" content="{$product.regular_price_amount}" />
    {/if}
  {/if}
  {if $product_manufacturer->name}
    <meta property="product:brand" content="{$product_manufacturer->name|escape:'html':'UTF-8'}" />
  {/if}
  <meta property="og:availability" content="{if $product.quantity_all_versions > 0 || $product.allow_oosp > 0}instock{else}out of stock{/if}" />
{elseif $page.page_name === 'category' && isset($category) && $category.image.large.url}
    <meta property="og:image" content="{$category.image.large.url}"/>
{else}
    <meta property="og:image" content="{$shop.logo}"/>
{/if}

J'image que c'est ce passage qui n'est pas conforme au PHP 7.4 :

{elseif $page.page_name === 'category' && isset($category) && $category.image.large.url}

Si quelqu'un pourrait m'aiguiller afin de corriger cette erreur.
Merci beaucoup !


Ps: j'ai essayé de modifier le code de cette façon :

{elseif $page.page_name === 'category' && isset($category) && isset($category.image.large.url)}

du coup l'erreur pointe maintenant sur le fichier "category-header.tpl" :

<div class="block-category card-block visible--desktop">
    <div id="_desktop_category_header">
        <h1 class="h1">{$category.name}{if isset($smarty.get.page) && $smarty.get.page > 1} <span class="small"> - Page {$smarty.get.page}</span>{/if}</h1>
    </div>
    {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}
</div>
<div class="_mobile_category_header"></div>

 

gouna

gouna

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" :

{if isset($product) && $page.page_name == 'product'}
  <meta property="og:type" content="product"/>
  {if $product.images|count > 0}
    {foreach from=$product.images item=p_img name="p_img_list"}
      <meta property="og:image" content="{$p_img.large.url}"/>
    {/foreach}
    <meta property="og:image:height" content="{$p_img.large.height}"/>
    <meta property="og:image:width" content="{$p_img.large.width}"/>

  {/if}
  {if $product.show_price}
    <meta property="product:price:amount" content="{$product.price_amount}" />
    <meta property="product:price:currency" content="{$currency.iso_code}" />
    {if $product.has_discount}
      <meta property="product:price:standard_amount" content="{$product.regular_price_amount}" />
    {/if}
  {/if}
  {if $product_manufacturer->name}
    <meta property="product:brand" content="{$product_manufacturer->name|escape:'html':'UTF-8'}" />
  {/if}
  <meta property="og:availability" content="{if $product.quantity_all_versions > 0 || $product.allow_oosp > 0}instock{else}out of stock{/if}" />
{elseif $page.page_name === 'category' && isset($category) && $category.image.large.url}
    <meta property="og:image" content="{$category.image.large.url}"/>
{else}
    <meta property="og:image" content="{$shop.logo}"/>
{/if}

J'image que c'est ce passage qui n'est pas conforme au PHP 7.4 :

{elseif $page.page_name === 'category' && isset($category) && $category.image.large.url}

Si quelqu'un pourrait m'aiguiller afin de corriger cette erreur.

Merci beaucoup !

×
×
  • Create New...