Problème module site web

Bonjour,

Tout d’abord merci au modérateur qui à supprimer mon message précédent pour des raison de sécurité je pense.

Je suis face à un problème dont je peine à expliquer la cause et don trouver une solution.

J’ai créer un site web en v10 avec le template proposer. J’ai fait les MAJ majeur sans soucis mais suite à la v13 (je pense car je n’avait pas modifier le site depuis la v12) il se produit la chose suivante.

Lorsque j’enregistre un page sans la changer dans le module site web, elle s’affiche sans soucis. en revanche lorsque je souhaite la consulter via le site directement j’obtiens l’erreur suivante:
Warning : require(…/page126.tpl.php): failed to open stream: No such file or directory in documents/website/techserviceconseil/faq2.php** on line 4

Warning : require(…/page126.tpl.php): failed to open stream: No such file or directory in /documents/website/techserviceconseil/faq2.php** on line 4

Fatal error : require(): Failed opening required ‹ …/page126.tpl.php › (include_path=’.:/opt/php7.3/lib/php’) in /documents/website/techserviceconseil/faq2.php** on line 4

Je pense que cela devrait chercher dans /documents/website/techserviceconseil/ puisque c’est la que le fichier page se situe :). Par contre puisque cela se produit juste en enregistrant la page sans la modifier le problème survient, quelque chose dans le code source à du être modifier non ?

Après je me dis que je dois pas être le seul à avoir modifier son site depuis la V13 donc ce doit être un problème connu et surement régler dans les 13. Ou il y a un petite modification à faire que je voudrai bien connaitre en attendant la 13.0.3 :).

Ou alors c’est bon hébergeur mais la je vais attendre une petite réponse avant de me lancer dans plus de recherche.

Ou encore en reéalité (include_path=’.:/opt/php7.3/lib/php’) n’est pas trouvé et c’est cela qui fait aller chercher dans /documents/website/techserviceconseil/ mais alors c’est quoi et c’est où .:/opt/php7.3/lib/php’ ? Cela vient de l’hébergeur il me semble je mais je ne trouve pas dossier opt dans mon FTP que cela soit dans la partie de dolibarr ou de la partie visible de l’hébergeur.

Comme vous le constater je sais pas trop ou chercher :).

Merci d’avoir pris le temps de lire.

Bonjour,

Affichez le code source de la page modifié et mettez-le ici.
image

Bonjour,

Merci de votre réponse.

Voici le code :

<div class="page">

    <?php includeContainer('header'); ?>

      <section id="sectionimage" contenteditable="true">
        <div class="">
          <div class="swiper-wrapper text-center" style="transform: translate3d(0px, 0px, 0px); transition-duration: 0ms;">
            <div class="swiper-slide swiper-slide-active" style="height: 200px; background-image: url('medias/image/techserviceconseil/background_sunset.jpg'); background-size: cover;">
              <div class="swiper-slide-caption">
                <div class="container">
                  <div class="row justify-content-sm-center">
                    <div class="col-md-11 col-lg-10">
                      <div class="text-white text-uppercase jumbotron-custom border-modern fadeInUp animated" data-caption-animate="fadeInUp" data-caption-delay="0s">FAQs</span>
                      </div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
        </div>
      </section>


        <section id="sectionfooterdolibarr" contenteditable="true" class="footerdolibarr">
            <div class="container">
<div class="text-align: center"><br><br><h2>Frequently Asked Questions</h2></div>
<br>
<br>
<br>
<h4>How can I contact you ?</h4><br>
You can contact us by using <a href="contact.php">this page</a>.
<br>
<br>
<br>
<h4>What is your privacy policy ?</h4><br>
You may find information about our privacy policy on <a href="privacy-policies.php">this page</a>.


<br><br><br><br>

            </div>
        </section>


    <br><br>

    <?php includeContainer('footer'); ?>

</div>
    

<a href="#" id="ui-to-top" class="ui-to-top"><span class="fa fa-angle-up" style="color: #fff; font-size: 1.9em;"></span></a>

<script src="/document.php?modulepart=medias&file=js/techserviceconseil/script.js"></script>

C’est exactement le code qui était disponible dans le template de la v11. Sans le modifier, juste en le réenregistrant le problème se produit.

Une précision que je n’ai pas faite, quand je créer une nouvelle page j’ai une 404 et quand je l’enregistre après la création sans la modifier le problème reviens.

Bonjour,

J’ai avancé, j’ai identifier le problème et comment il se crée mais pas comment le ressoudre de manière propre.

Avec le module site web, lorsque l’on enregistre une page, cette page n’est pas crée avec le nom de la page mais avec un numéro, soit pageX.tpl.php. En plus de se fichier, il est crée un wrapper portant le nom de la page. Le contenu de se wrapper est le suivant:

<?php
// File generated to wrap the alias page - DO NOT MODIFY - It is just a wrapper to real page
global $dolibarr_main_data_root;
if (empty($dolibarr_main_data_root)) require './page98.tpl.php'; else require $dolibarr_main_data_root.'/website/'.$website->ref.'/page98.tpl.php';
?>

Les variables $dolibarr_main_data_root et $website->ref sont vides, raison pour laquelle la page n’est pas trouvé puisque le chemin n’est pas le bon.

Je comprend donc pas très bien ce qui ce passe, si les variables sont vides pour une page que je viens de crée elles devraient être vides également à l’appel des pages que j’i créer auparavant, non ?

Puis que le site marche toujours pour les pages anciennement créer, cela veut dire que dans le module site web lorsque l’on clique sur enregistrer il se produit un mécanisme portant uniquement sur la page enregistrée qui rende vide les variables $dolibarr_main_data_root et $website->ref. Etant donné que le wrapper et le même pour toute les pages en changeant juste le numéro de page je comprend pas trop pourquoi le bug se produit pas sur toute les pages, une explication?

Le problème survient également lorsque j’enregistre les propriétés de la page, cela n’a donc rien à voir avec un code que je saisie

Enfin, à ce stade je pense que la modification de titre en title dans les base à cassé une fonctionnalité ce réalisant à l’enregistrement des propriétés de la page et que cette fonctionnalité devait se servir de titre pour définir des données propres à la page mais après vérification de la base de donnée avant et après le modification des propriétés de la page rien ne semble avoir changé. Et la j’avoue que avec mes connaissance du code interne du module site web, je suis perdu.

Une solution est de mettre le chemin en dur dans le wrapper mais cela est à refaire à chaque modification de page. Editer le wrapper dans le module lui même pour l’écrire en dur est à proscrire puisque cela casserai la possibilité multisite du module.

Je vais don investiguer du coté de la fonction qui enregistre les propriété de la page. Si quelqu’un peux me faire gagner un peu de temps je suis preneur.

Bonne journée