javascript e zend

Salve a tutti da poco sono entrato nel mondo di zend ma già mi affascina moltissimo, e smanettando con l'esempio di autenticazione di Gianni, ho provato a creare un menu in javascript, ma a quanto pare non funziona, l'ipotesi che mi sono fatto è che i file .phtml non interpretano javascript pongo quindi la domanda a voi, come posso fare per far interagire javascript e zend?

ecco cosa ho fatto fin ora: ho creato un file header.phtml che includo in ogni pagina

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="it" xml:lang="it">

<head>

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

    <title>Applicazione asm flotte</title>

    <link rel="stylesheet" type="text/css" media="screen, handheld, print" href="<?php echo BASE_URL?>main.css" />

<SCRIPT type="text/javascript">

<!-- prelevato su http://xoomer.virgilio.it/webdesign

function MM_reloadPage(init) {  //reloads the window if Nav4 resized

  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {

    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}

  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();

}

MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01

  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {

    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}

  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[n];   for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers.document);   if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_showHideLayers() { //v6.0   var i,p,v,obj,args=MM_showHideLayers.arguments;   for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args))!=null) { v=args[i+2];     if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }     obj.visibility=v; } } //--> </SCRIPT> <SCRIPT type="text/javascript"> <!-- var message=""; function clickIE() {if (document.all) {(message);return false;}} function clickNS(e) {if (document.layers||(document.getElementById&&!document.all)) { if (e.which==2||e.which==3) {(message);return false;}}} if (document.layers) {document.captureEvents(Event.MOUSEDOWN);document.onmousedown=clickNS;} else{document.onmouseup=clickNS;document.oncontextmenu=clickIE;} document.oncontextmenu=new Function("return false") // --> </script> </head> <body> <div id="page">

lo richiamo nelle varie pagine con la seguente istruzione:

<?php echo $this->render('header.phtml'); ?>

ma il codice javascript mi viene del tutto ignorato.......

inviato 8 anni fa
reve
reve
1
X 0 X

Leggevo su un altro post la risposta di trashofmasters che riceva di inserire i file javascript nella root in js, potreste fornirmi altri dettagli del tipo:

1)la cartella js dove va creata, andrebbe bene cosi:

app/

     controllers/

                     .....

     models/

                     .....

     views/

                     .....

    js/

2) inoltre come creare la pagina all'interno di js/ (intendo con che estenzione .js va bene?)

3) come la includo nella mia pagina phtml?

Scusate le tante domande ma sono davvero agli inizi, spero di esser stato chiaro ed utile anche ad altri.

Grazie mille a Gianni e trashofmasters

risposto 8 anni fa
reve
reve
1
X 0 X

1)la cartella js dove va creata, andrebbe bene cosi:

app/

     controllers/

                     .....

     models/

                     .....

     views/

                     .....

    js/

non tanto... nelle raccomandazioni dello Zend Framework sulla struttura dell'applicazione viene consigliato di tenere controller, model e views all'esterno della document root del server web, in modo da impedirne l'accesso diretto agli utenti attraverso il browser.

Il discorso ovviamente NON si estende a tutti quei file che invece DEVONO essere accessibili direttamente, come ad esempio le immagini, i css ed i javascript. Se questi file non fossero all'interno della document root del server web, il browser non potrebbe richiamarli.

L'unico script PHP che dovrebbe essere nella document root è il file di bootstrap index.php.

Quindi una possibile organizzazione dei file potrebbe essere la seguente:

[tt]applicazione_1/

    controllers/

        IndexController.php

    models/

    views/

        scripts/

            index/

                index.phtml

htdocs/

    immagini/

    css/

    javascript/

    .htaccess

    index.php[/tt]

2) inoltre come creare la pagina all'interno di js/ (intendo con che estenzione .js va bene?)

.js va benissimo ma non ci sono vincoli

3) come la includo nella mia pagina phtml?

si tratta di HTML e Javascript, niente di nuovo quindi...

esempio (riferito alla struttura di cui sopra):

<script language="JavaScript" type="text/javascript" src="/javascript/script1.js"></script>

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda