Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558

    Usare INSERT con Smarty

    Ho un problema con il tag INSERT di Smarty, ovvero. Dalla guida si legge che definendo l'attributo name "Smarty cercherà una funzione chiamata insert_miaFunzione() nell'applicazione PHP". Ora io ho definito un file, editor.php (che serve ad incorporare un editor avanzato, SPAW, nel template) all'interno del quale ho dichiarato ed implementato la funzione miaFunzione(). Il problema è che ricevo questo errore:

    Fatal error: Smarty error: [in mioTemplate.tpl line 40]: [plugin] could not load plugin file 'insert.create_editor.php' (core.load_plugins.php, line 118) in /home/utente/public_html/miosito.it/libs/Smarty.class.php on line 1095

    Qualcuno ha già avuto lo stesso problema oppure può darmi un esempio di funzionamento di questo tag che mi sta facendo impazzire? Grazie a tutti


    PS questo il tag
    {insert name="miaFunzione" content=$value}
    dove content è parametro di miaFunzione()...

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    non ho mai usato questo tag, ma la prima domanda che mi viene in mente è:

    Non è che il file con la tua funzione va messo in qualche directory particolare?

    ciao

  3. #3
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    In realtà non ci avevo pensato, ma la guida ufficiale non dice niente in proposito...quindi credo che il file possa stare in una cartella qualunque...comunque ho provato seguendo il tuo consiglio e l'ho messo nella dir che conosce smarty, ovvero templates, ma anche qui non cambia nulla...così l'ho spostato nella stessa dir del file dove implemento il template, ma anche qui non ottengo risultati diversi...
    Comunque grazie

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    io proverei in libs/plugin/

  5. #5
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    ...grazie per i suggerimenti gianiaz, ma credo che non ne voglia sapere di funzionare...ho provato anche ./libs, ma nulla...speriamo che qualcuno l'abbia usato con successo...

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da Gab-81
    ...grazie per i suggerimenti gianiaz, ma credo che non ne voglia sapere di funzionare...ho provato anche ./libs, ma nulla...speriamo che qualcuno l'abbia usato con successo...
    Ti ho dato quei suggerimenti cosi al volo, ma ora voglio capire anche io .

    Una cosa che non ti ho chiesto, il file con la funzione lo includi tu?

    Perchè in effetti leggendo il manuale non parla di mettere lo script in un punto preciso, ma a un certo punto dice:

    If you supply the script attribute, this php script will be included (only once) before the {insert} function is executed. This is the case where the insert function may not exist yet, and a php script must be included first to make it work.
    Ciao

  7. #7
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    Una cosa che non ti ho chiesto, il file con la funzione lo includi tu?
    Nel senso che uso un require('editor.php') da qualche parte?
    In effetti non lo includo da nessuna parte. A questo punto, però, la domanda è: lo devo includere facendo {include_php file='editor.php'}? Oppure usando require_once nell'applicazione? Io intanto provo...
    Grazie ancora

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Originariamente inviato da Gab-81
    Nel senso che uso un require('editor.php') da qualche parte?
    In effetti non lo includo da nessuna parte. A questo punto, però, la domanda è: lo devo includere facendo {include_php file='editor.php'}? Oppure usando require_once nell'applicazione? Io intanto provo...
    Grazie ancora
    Secondo me è un semplice include php, ma se effettivamente questo file lo usi solo per generare l'insert magari puoi usare il parametro fornito dal tag insert.

    ciao

  9. #9
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558
    Ho fatto un piccolo passo avanti usando

    {insert script='admin/editor/editor.php' name='create_editor' content=$icd.body}...ma ora

    ottengo questo errore

    Warning: Smarty error: file:admin/editor/editor.php is not readable in /home/utente/public_html/miosito.it/libs/Smarty.class.php on line 1095

    Sembrerebbe un problema di permessi, ma ho un permessi di lettura sufficienti su editor.php (rwxr-xr-x)...mah!!!

    Grazie ancora

  10. #10
    Utente di HTML.it L'avatar di Gab-81
    Registrato dal
    Nov 2005
    Messaggi
    558

    [RISOLTO!!!]

    In realtà ho sbagliato ad usare l'attributo script, nel senso che ha visibilità dalla radice del filesystem, quindi usando

    {insert script='admin/editor/editor.php' name='create_editor' content=$icd.body}

    cercava dalla radice del filesystem e non dalla cartella TEMPLATE di smarty...ho spostato il file e tutto risolto...


    PS differentemente da quanto detto nella guida, la funzione deve avere come prefisso non insert_, bensì smarty_insert_, quindi la mia funzione nel file editor.php l'ho dichiarata come

    Codice PHP:
    function smarty_insert_create_editor($content) {// Omissis} 

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.