Categories > TinyButStrong general (FR) >

file not found - subtpl - php 5.2.1 - tbs 3.2.0

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: tom
Date: 2007-04-16
Time: 18:56

file not found - subtpl - php 5.2.1 - tbs 3.2.0

J'ai un pb avec les sous modèles qui ne fonctionnent pas avec php 5.2.1 et tbs 3.2.0 : j'ai le message suivant : TinyButStrong Error in field [onload...] : the file 'monfile' given by parameter script is not found or not readable.
Alors que j'ai un deuxième serveur avec php 5.1.4 et tbs 3.2.0 qui lui ne pose aucun problème avec les mêmes scripts php. Je ne sais pas si cela a un rapport avec la version de php, mais vu que je ne vois que cette différence, je m'interroge...
Voici le code utilisé :
1-Le script php principale
require_once('tbs_class.php');

//Definition des sous modèles
$t_file_path = 'http://'.$_SERVER['HTTP_HOST'].'/monchemin/';
$t_param = "?SID=".$t_sid."&page=".$t_page."&menu=".$t_menu."&nm_id=".$t_nm_id;
$t_file_liste = $t_file_path."img_liste.php".$t_param;
$t_file_upload = $t_file_path."img_upload.php".$t_param;
$t_file_insert = $t_file_path."img_insert.php".$t_param;

$TBS = new clsTinyButStrong;
$TBS->LoadTemplate('monmodele.html');
$TBS->Show();
2-Le modele html correspondant :
<div id="popup" style="width:550px"><!--Conteneur popup-->

    <div class="panel_conteneur">
       
        <div id="liste_panel" class="activPanel activOnglet">
            [onload;script=[var.t_file_liste];subtpl]
        </div>
       
        <div id="upload_panel" class="activPanel">
            [onload;script=[var.t_file_upload];subtpl]
        </div>
       
        <div id="insert_panel" class="activPanel">
            [onload;script=[var.t_file_insert];subtpl]
        </div>
           
        </div>   
               
    <!--Fin Contenu popup-->
    </div>
   
</div>
3-Le script php du 1er sous modele

//Mon code php pour définir mon tableau $lst_img

//Si sous modèle ou non
if ( isset($this) ) $TBS =& $this;
else {
    require_once('tbs_class.php');
    $TBS = new clsTinyButStrong;
}

$TBS->LoadTemplate('img_liste.html');
$TBS->MergeBlock('lst_img', $lst_img);
$TBS->Show();
4-Le modele html du 1er sous modele
   
<table border="0" cellpadding="0" cellspacing="0">
    <tr>
        <td align="left">
            <table border="0" cellpadding="0" cellspacing="0">
                <tr class="entete_tab"><!-- Entete tableau -->
                    <td width="250" colspan="2" align="left">[var.t_text_img] (Total : [lst_img.#] | Hébergé : [var.l_img_host;noerr])</td>
                    <td width="80" align="center">[var.t_text_download_verif]</td>
                    <td width="80" align="center">[var.t_text_host_verif]</td>
                </tr>
            </table>
        </td>
    </tr>
    <tr>   
        <td align="left">
        <div id="tab_asc_3" style="width:410px;"><!--Ascenseur Tableau-->
            <table id="table_img" border="0" cellpadding="0" cellspacing="1">
                <tr class="contenu_tab1" onmouseover="ChangeColor(this, 'contenu_tab_over', 'table_img', 'over', 0)" onmouseout="ChangeColor(this, 'contenu_tab1', 'table_img', 'out', 0)"><!-- ligne tableau couleur 1 -->
                    <td width="250" align="left" style="color:[lst_img.color]">[lst_img.valeur;block=tr]</td>
                    <td width="80" align="center">[lst_img.download_val]</td>
                    <td width="80" align="center">[lst_img.hosting_val]</td>
                </tr>
                <tr class="contenu_tab2" onmouseover="ChangeColor(this, 'contenu_tab_over', 'table_img', 'over', 0)" onmouseout="ChangeColor(this, 'contenu_tab2', 'table_img', 'out', 0)"><!-- ligne tableau couleur 2-->
                    <td width="250" align="left" style="color:[lst_img.color]">[lst_img.valeur;block=tr]</td>
                    <td width="80" align="center">[lst_img.download_val]</td>
                    <td width="80" align="center">[lst_img.hosting_val]</td>
                </tr>
                <tr class="contenu_tab3"><!-- Cas sans donnees -->
                    <td colspan="3" width="410">[lst_img;block=tr;nodata][var.t_text_nodata]</td>
                </tr>
            </table>
        </div><!--Fin Ascenseur Tableau-->
        </td>
    </tr>
</table>
Voila, bien sur j'ai vérifié les chemins d'accés et ils sont corrects. Si quelqu'un a une idée, je l'en remercie grandement...
By: Skrol29
Date: 2007-04-17
Time: 11:23

Re: file not found - subtpl - php 5.2.1 - tbs 3.2.0

Salut Tom,

D'abord je dois dire que c'est très bizarre d'inclure des sous-fichier locaux avec d'une part le protocole HTTP (chemin du fichier en 'http://...') et d'autre part la paramètre "script" alors que qu'avec le protocole HTTP tu n'aura que le résultat HTML de ton script.

Si tu garde les adresses en HTTP :
[onload;file=[var.t_file_liste]]
Si tu passe avec des chemin de fichier locaux, ton modèle est bon.

TBS utilise la fonction PHP fopen() pour ouvrir le paramètre "file" et include() pour script. Donc si tu as une erreur d'une version à l'autre de PHP, c'est peut être qu'ils ont été configuré différemment.

Voir ini.allow-url-fopen et allow_url_include  à cette page :

http://www.php.net/manual/fr/ref.filesystem.php#ini.allow-url-fopen
By: tom
Date: 2007-04-17
Time: 18:42

Re: file not found - subtpl - php 5.2.1 - tbs 3.2.0

Salut,
Merci pour ta réponse Skrol29, je regarde des que je le temps de me replonger dans ce pb. A priori, avec ta réponse je comprend déjà mieux comment fonctionne le paramètre file et script de tbs.
j'essaie de mettre cela en application.
Cdlt
By: tom
Date: 2007-04-20
Time: 17:23

Re: file not found - subtpl - php 5.2.1 - tbs 3.2.0 - Résolu

Ok, j'utilise le parametre file au lieu du parametre script, et tout marche pour le mieux...
Le fait que cela marche pas avec script même avec des chemin locaux me chagrine un peu, mais n'ayant pas de temps à passer sur le pb, je vais me contenter de ce qui marche.
Merci encore !