Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913

    [PHPTAL] default keyword nei modificatori personalizzati

    Sto provando a crearmi dei modificatori personalizzati per phptal, ma purtroppo la documentazione è un po' carente...

    Ho buttato giù questo codice:
    Codice PHP:
    function phptal_tales_ucfirst ($src$nothrow) {
        
    $parsed = (array) phptal_tales($src$nothrow);
        
    $i 1;
        
    $return "";
        foreach (
    $parsed as $x) {
            if (
    $i count($parsed)) $return .= "!empty(" $x ") ? ucfirst(" $x ") : ";
            else 
    $return .= "ucfirst(" $x ")";
            
    $i++;
        }
       return 
    $return;

    Funziona alla perfezione, solo che... s'inceppa con i valori di default mi restituisce '')

    Per curiosità allora ho provato togliendo gli "ucfirst":
    Codice PHP:
    function phptal_tales_ucfirst ($src$nothrow) {
       
    $parsed = (array) phptal_tales($src$nothrow);
       
    $i 1;
       
    $return "";
       foreach (
    $parsed as $x) {
           if (
    $i count($parsed)) $return .= "!empty(" $x ") ? " $x " : ";
           else 
    $return .= $x;
           
    $i++;
       }
       return 
    $return;

    E funziona tutto (a parte il fatto che non rende maiuscola la prima lettera, ovviamente), anche i valori di default...

    Sapete dirmi dov'è che sbaglio?

    (Ah, se vi serve il codice del template è questo:
    codice HTML:
    <h1 tal:content="ucfirst: title | default">valore di default</h1>
    e il risultato è questo:
    Codice PHP:
    <h1>
        <?php
            
    echo phptal_escape(!empty($ctx->path($ctx'title'true)) ? ucfirst($ctx->path($ctx'title'true)) : ucfirst(new PHPTAL_DefaultKeyword), 'UTF-8');
        
    ?>
    </h1>
    )
    No

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Ciao, non ho mai usato phptall e la doc che ho guardato ora non ha molti esempi effettivamente.
    Nel codice che hai postato mi pare di vedere apici di troppo
    Codice PHP:
    $return .= "!empty(" $x ") ? " $x " : "
    Codice PHP:
    $return .= ! empty($x) ? $x ''
    A meno che non abbia inteso io male quel che dovrebbe ritornare la funzione

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    la funzione è giusto che ritorni una stringa perché la stampa in un altro file che lavora successivamente (ad ogni richiesta usa questo file e non lo rigenera)
    No

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.