Jump to content

Impossible d'accéder à la page produit [1.7.4.4]


Go to solution Solved by David_M,

Recommended Posts

Bonjour,

Lorsque je clique sur les produits, pour afficher leur page, un message d'erreur se met. J'ai essayé de bidouiller un peu pour trouver l'origine du problème, mais je n'arrive pas vraiment à savoir d'où il peut venir. 

La page d'erreur est liée en pièce jointe.

J'avais déjà eu un soucis dans le back-office lorsque j'ajoutais des photos à mon produit, que j'avais dû corriger en overridant directement la classe Link.php :

if ($this->allow == 1) {
                if(isset($name[1])) {
                $uriPath = __PS_BASE_URI__.$idImage.($type ? '-'.$type : '').$theme.'/'.$name[1].'.jpg';
                } else {
                    $uriPath = __PS_BASE_URI__.$idImage.($type ? '-'.$type : '').$theme.'/'.$name.'.jpg';
                }
            } else {
                $uriPath = _THEME_PROD_DIR_.Image::getImgFolderStatic($idImage).$idImage.($type ? '-'.$type : '').$theme.'.jpg';
            }

Je suppose qu'il doit s'agir d'un truc du même style, une classe à modifier ou un controller à corriger, mais je n'ai pas trouvé sur internet. 

A savoir, j'ai overridé mes classes produits pour leur faire afficher un champ supplémentaire, mais il me semble que la page produit ne fonctionnait déjà plus. Si vous avez des pistes, des idées, des solutions, je suis preneur.

Merci !

erreur.PNG

Share this post


Link to post
Share on other sites

Oui, bien sûr.

Alors, j'ai ajouté un champ qui s'appelle "subtitle" pour ajouter une deuxième ligne de titre dans la fiche produit. 

override/classes/Product.php 

    /** @var string Subtitle */
    public $subtitle;

public static $definition = array(
        'table' => 'product',
        'primary' => 'id_product',
        'multilang' => true,
        'multilang_shop' => true,
        'fields' => array(   
            'subtitle' =>           array('type' => self::TYPE_STRING, 'lang' =>true, 'required' => false, 'size' => 255),          
        ),
    );

PrestashopBundle/Resources/views/Admin/Product/ProductPage/product.html.twig 

{# PANEL ESSENTIALS #}
        {% block product_panel_essentials %}
          {% set formQuantityShortcut = form.step1.qty_0_shortcut is defined ? form.step1.qty_0_shortcut : null  %}
          {{ include('@Product/ProductPage/Panels/essentials.html.twig', {
              'formPackItems': form.step1.inputPackItems,
              'productId': id_product,
              'images': form.step1.vars.value.images,
              'formSubtitle' : form.step1.subtitle,
              'formShortDescription': form.step1.description_short,
              'formDescription': form.step1.description,
              'formFeatures': form.step1.features,
              'formManufacturer': form.step1.id_manufacturer,
              'formRelatedProducts': form.step1.related_products,
              'is_combination_active': is_combination_active,
              'has_combinations': has_combinations,
              'formReference': form.step6.reference,
              'formQuantityShortcut': formQuantityShortcut,
              'formPriceShortcut': form.step1.price_shortcut,
              'formPriceShortcutTTC': form.step1.price_ttc_shortcut,
              'formCategories': form.step1,
            })
          }}
        {% endblock %}

PrestashopBundle/Resources/views/Admin/Product/ProductPage/Panels/essentials.html.twig 

<ul class="nav nav-tabs bordered">
                <li id="tab_subtitle" class="nav-item"><a href="#subtitle"data-toggle="tab" class="nav-link description-tab active">{{ 'Subtitle'|trans({}, 'Admin.Catalog.Feature') }}</a></li>
                <li id="tab_description_short" class="nav-item"><a href="#description_short" data-toggle="tab" class="nav-link description-tab">{{ 'Summary'|trans({}, 'Admin.Catalog.Feature') }}</a></li>
                <li id="tab_description" class="nav-item"><a href="#description" data-toggle="tab" class="nav-link description-tab">{{ 'Description'|trans({}, 'Admin.Global') }}</a></li>
              </ul>

 

Et puis bien sûr le template/catalog/_partials/miniature/products.tpl pour l'affichage de ce champ subtitle dans la liste des produits.

Le champ fonctionne très bien, je l'ai bien ajouté en base et il s'affiche parfaitement dans ma liste. J'ai trouvé la marche à suivre pour la modification du core pour l'ajout sur stackoverflow.

 

J'ai tenté de tout enlever de la template/catalog/product.tpl, mais toujours la même erreur. Ca doit venir de plus haut, mais je ne vois rien que je pourrais avoir modifié qui entrerait en compte...

Edited by ludojlm (see edit history)

Share this post


Link to post
Share on other sites
6 minutes ago, David_M said:

Ajoute cela ('validate' => 'isAnything') dans ton array subtitle après 'lang' => 'true' . 

Merci ! Ca fonctionne niquel. Je me suis arraché les cheveux pendant deux jours sur ce truc, ça fait du bien de voir enfin la bonne page s'afficher. Encore merci !

Share this post


Link to post
Share on other sites

Bonsoir, j'ai le meme soucis que ludojlm (enfin peut etre pas tout à fait le meme, mais en gros lorsque je clique sur une fiche produit un message d'erreur apparait)

Je suis pas une pro au niveau du code.. déjà j'ai réussi à mettre le mode debug et voici les messages d'erreurs qui s'affichent :

Si vous avez une solution, je suis preneuse :) merci d'avance ,

Stéphanie

 

erreur.PNG

Share this post


Link to post
Share on other sites
  • 3 weeks later...
  • 1 year later...

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More