Joomla.it Forum
Joomla! 2.5 (versione con supporto terminato) => Joomla! 1.6/1.7/2.5 => : PaSquallor 11 Jul 2014, 18:32:49
-
Buon giorno,
faccio una domanda che potrebbe risultare stupida per un joomler, però proviamoci magari è fattibile.
Esistono delle utility che generano un codice html da inserire nel body e un codice con link a css e java script da inserire nella sezione head di un sito.
Questo ovviamente per un sito tradizionale in html+css+javascript.
La domanda è :
C'è la possibilità di inserire manualmente un codice javascript nella sezione head di un sito in joomla?
Graie!
-
certamente,
editando il file index.php del template che utilizzerai.
-
aggiungo che alcuni template prevedono tale possibilità tra le opzioni di configurazione...
-
sono stato in gestione template solo che..non ho trovato file .php da editare
Dove debbo andare?
EDIT :
ho trovato :
Gestione template: Personalizza template
c'è un file index.php ma.....
sono poche righe...di codice.
con scritto :
<?php
/**
*
* Main file
*
* @version 1.0.0
* @package Gavern Framework
* @copyright Copyright (C) 2010 - 2011 GavickPro. All rights reserved.
*
*/
// No direct access.
defined('_JEXEC') or die;
// enable showing errors in PHP
//ini_set('error_reporting', E_ALL);
//ini_set('display_errors','On');
// include framework classes and files
require_once('lib/framework/gk.const.php');
require_once('lib/framework/gk.parser.php');
require_once('lib/gk.framework.php');
// run the framework
$tpl = new GKTemplate($this, $GK_TEMPLATE_MODULE_STYLES);
/* End of the file - index.php */
Dove dovrei inserire i tradizionali link java script e css?
<!-- Start VisualLightBox.com HEAD section -->
<link rel="stylesheet" href="index_files/vlb_files1/vlightbox1.css" type="text/css" />
<link rel="stylesheet" href="index_files/vlb_files1/visuallightbox.css" type="text/css" media="screen" />
<script src="index_files/vlb_engine/jquery.min.js" type="text/javascript"></script>
<script src="index_files/vlb_engine/visuallightbox.js" type="text/javascript"></script>
<!-- End VisualLightBox.com HEAD section -->
-
é un template che fa uso di un framework, e quindi la struttura dei file è diversa, io purtroppo non conosco quel framework, ma puoi sempre inserire quel codice in un modulo html personalizzato.
-
Ok.
Prendo un modulo html, ci copio dentro il mio codice java script e css.....ma.....
come fa joomla a capire che quel codice in un regolare html andrebbe in HEAD?
Mi spiego....l'html regolare, ha la sezione head e tutta la struttura che lo precede, mettendo in head opportuni codici di script oppure lik a file javascript e css, richiamano quei file che sono le istruzioni per il body.
Messo quel codice in un modulo html, cosa dovrei fare per farlo funzionare come "testa" di una pagina?
Grazie!
-
tu inseriscilo, vedrai che joomla è così intelligente che capirà ;D ;D
-
il fw in questione, gavern, è quello utilizzato dai template di gavikpro.
il file da editare, relativo alla root del template, è layouts\blocks\head.php, ricordandosi dopo di averlo modificato in caso di aggiornamento.
sebbene il codice html si possa inserire in coda al file sarebbe buona norma usare i metodi addJS() e addJSFragment() in caso si volessero usare le funzionalità di compressione dell'output del fw.
ps: chi ha detto che i js vanno nell'head?
ciao,
marco
-
Rispondo sia a mmleoni che giusebos.
I forum sono una grossa risorsa, fino a quando ci sono persone come voi pronte a rispondere e per questo vi ringrazio. Allora, per far si che sia una risorsa utile sia per me che per utenti futuri, facciamo un esempio concreto.
Nello specifico ho utilizzato un plugin esterno : visual light box, questo mi genera un codice html, oppure genera un modulo per joomla e altro cms. Il modulo per joomla non si riesce ad installare, nemmeno quello per l'alto cms. Allora utilizzo il codice html che è il seguente :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title>Visual LightBox Gallery generated by VisualLightBox.com</title> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <meta name="keywords" content="VisualLightBox, LightBox, Photo Gallery, free lightbox software, visuallight box" /> <meta name="description" content="Visual LightBox Gallery created with VisualLightBox, a free wizard program that helps you easily generate beautiful Lightbox-style web photo galleries" /> <!-- Start VisualLightBox.com HEAD section --> <link rel="stylesheet" href="index_files/vlb_files1/vlightbox1.css" type="text/css" /> <link rel="stylesheet" href="index_files/vlb_files1/visuallightbox.css" type="text/css" media="screen" /><script src="index_files/vlb_engine/jquery.min.js" type="text/javascript"></script> <script src="index_files/vlb_engine/visuallightbox.js" type="text/javascript"></script> <!-- End VisualLightBox.com HEAD section --> </head> <body bgcolor="#ffffff"> <!-- Start VisualLightBox.com BODY section id=1 --> <div id="vlightbox1"> <a class="vlightbox1" href="index_files/vlb_images1/20140623400.jpg" title="2014-06-23-400"><img src="index_files/vlb_thumbnails1/20140623400.jpg" alt="2014-06-23-400"/></a><a class="vlightbox1" href="index_files/vlb_images1/20140623401.jpg" title="2014-06-23-401"><img src="index_files/vlb_thumbnails1/20140623401.jpg" alt="2014-06-23-401"/></a><span class="vlb"><a href="http://visuallightbox.com">web page lightbox</a>by VisualLightBox.com v5.9</span> <> <script src="index_files/vlb_engine/thumbscript1.js" type="text/javascript"></script> <script src="index_files/vlb_engine/vlbdata1.js" type="text/javascript"></script> <!-- End VisualLightBox.com BODY section --> </body> </html>
Se stessi lavorando con un html regolare, faccio sempre così :
scrivo questo codice in head del sito :
<!-- Start VisualLightBox.com HEAD section --> <link rel="stylesheet" href="index_files/vlb_files1/vlightbox1.css" type="text/css" /> <link rel="stylesheet" href="index_files/vlb_files1/visuallightbox.css" type="text/css" media="screen" /><script src="index_files/vlb_engine/jquery.min.js" type="text/javascript"></script> <script src="index_files/vlb_engine/visuallightbox.js" type="text/javascript"></script> <!-- End VisualLightBox.com HEAD section -->
e scrivo questo codice nel body :
<!-- Start VisualLightBox.com BODY section id=1 --> <div id="vlightbox1"> <a class="vlightbox1" href="index_files/vlb_images1/20140623400.jpg" title="2014-06-23-400"><img src="index_files/vlb_thumbnails1/20140623400.jpg" alt="2014-06-23-400"/></a><a class="vlightbox1" href="index_files/vlb_images1/20140623401.jpg" title="2014-06-23-401"><img src="index_files/vlb_thumbnails1/20140623401.jpg" alt="2014-06-23-401"/></a><span class="vlb"><a href="http://visuallightbox.com">web page lightbox</a>by VisualLightBox.com v5.9</span> <> <script src="index_files/vlb_engine/thumbscript1.js" type="text/javascript"></script> <script src="index_files/vlb_engine/vlbdata1.js" type="text/javascript"></script> <!-- End VisualLightBox.com BODY section -->
Carico manualmente in FTP le cartelle e i file necessari nel giusto percorso e funziona tutto.
Mi pare di capire che potrei fare la stessa cosa con joomla.
Nella pagina del mio articolo inserisco il codice html che andrebbe nel body.
In alternativa potrei creare un modulo html con dentro quel codice, e gli assegno una posizione e poi nella pagina interessata scrivo loadposition etc;
Contemporaneamente dovrei creare un modulo html nascosto con dentro il codice che dovrei mettere in head, e....dovrebbe funzionare tutto? (ovviamente caricando i file in ftp manualmente).
E' così?
Inoltre
il fw in questione, gavern, è quello utilizzato dai template di gavikpro.[/size]il file da editare, relativo alla root del template, è layouts\blocks\head.php, ricordandosi dopo di averlo modificato in caso di aggiornamento.sebbene il codice html si possa inserire in coda al file sarebbe buona norma usare i metodi addJS() e addJSFragment() in caso si volessero usare le funzionalità di compressione dell'output del fw.
Sei stato di un enorme professionalità ma....purtroppo ho fatto fatica a seguirti.
Se puoi, saresti disposto a esplicitare quanto da te suggerito?
Grazie!
-
Ciao
Puoi mettere il codice anche direttamente nell'articolo o modulo html, qui ho utilizzato una procedura simile per questo slider.
http://www.vcskills.org/
-
http://extensions.joomla.org/extensions/core-enhancements/coding-a-scripts-integration/head-code
mi sembrava strano che qualcuno non ci avesse già pensato...
ciao
-
Da quello che capisco, la mia domanda non era così stupida e capisco inoltre, che con questo metodo posso integrare in joomla diversi prodotti in jquery.
Provo, e scrivo nuovamente al forum per farvi sapere com'è andata oppure se dovessi avere difficolotà.
Poi vi posto anche qualche link di prova.
Intanto grazie!
-
Buon giorno, il plugin sono riuscito a installarlo ma non mi è chiaro come farlo funzionare.
Per il resto ho inserito nel body di joomla i codici che andrebbero nel body, e visualizzo le thumbs, però poi quando ho inserito i codici che andrebbero in head....in un primo momento ha anche funzionato, solo che il menù laterale si sposta sotto al sito, in basso.
Ora invece...il menù laterale è al sul posto e non funziona il javascript.
Ecco il link : LINK (http://www.pdagrafica.com/joomla/toffini/index.php/en/gallery)
cosa ho potuto sbagliare?
EDIT :
qui invece ho creato da zero una pagina, con tanto di tag head, body, html...
LINK (http://www.pdagrafica.com/joomla/toffini/index.php/en/test-showbox-pda)
Solo che il menù mi va sotto.
-
cosa ho potuto sbagliare?
tutto... :(
non puoi incollare nel mezzo della pagina una altra pagina html con tanto di dichiarazione doctype! devi separare i vari elementi. fai riferimento alla doc dell'html (almeno i concetti di base) e a quella del plugin
ciao
-
Intanto grazie!
Magari è "sgrammaticato" però forse sono riuscito nell'intento.
Però per cortesia dimmi se è sgrammaticato.
Ho creato un modulo HTML, Ho aperto i tag head e body e dentro ho messo i miei codici.
Ho attribuito a questo modulo una posizione.....e con loadposition ho posizionato il modulo nella pagina che mi interessava.
LINK (http://www.pdagrafica.com/joomla/toffini/index.php/it/realizzazioni)
Nel precedente esempio, c'era un div di troppo, al di la di tutto.
-
Ho creato un modulo HTML, Ho aperto i tag head e body e dentro ho messo i miei codici.
no! non puoi riaprire una pagina all'interno di una altra pagina: non puoi inserire i tag head e body in un modulo html.
se vuoi inserire qualcosa nell'head o modifichi il file che ti ho indicato o usi uno di quei plugin, ovviamente devi leggere la documentazione PRIMA di metterti a fare tentativi.
nel modulo html ci metti solo il codice html delle immagini, o, se preferisci, quest'ultimo lo puoi mettere direttamente nell'articolo.
ciao
-
Ti ringrazio per la risposta, però a questo punto ho un po' di confusione.
Perchè....da un lato mo dici :
ps: chi ha detto che i js vanno nell'head?
Poi mi dici
nel modulo html ci metti solo il codice html delle immagini,
poi c'è giusebos che dice :
tu inseriscilo, vedrai che joomla è così intelligente che capirà
Capirai che ho avuto info contraddittorie oppure le ho interpretate male a mio uso e consumo.
Allora se sei d'accordo resettiamo, anche per chi ci legge.
Inoltre mi dici :
no! non puoi riaprire una pagina all'interno di una altra pagina:
Il sito su cui sto lavorando, non l'ho fatto io ma...l'ha fatto un'improvvisata e disordinata che ha proceduto a tentativi e smanettando. me ne accordo guardando il pannello di controllo.
Ci sono alcune pagine che sono state create proprio così, modulo html (però senza tag body ed Head ) e aggiunto in calce ad un articolo mediante loadposition, quando poi bastava semplicemente continuare l'articolo.
Però...il sito funziona comunque....così come funziona quello che ho creato.
La domanda è : se non dovessi riuscire a mettere mano al head del sito, mediante i tuoi suggerimenti...lasciandolo così cosa succede?
Grazie!
-
per prima cosa vorrei invitarti seriamente a leggerti qualcosa su come funziona l'html; non prenderlo come un atteggiamento di superiorità, ma se vuoi fare le modifiche che dici non puoi prescindere da detta competenza.
mettere i js nell'head è una consuetudine, non una specifica tecnica, quindi i js possono essere inseriti in qualsiasi parte della pagina. quello che non puoi inserire dove ti pare sono <head> e <body,> i quali possono stare solo direttamente sotto <html> devono stare allo stesso livello e non possono essere annidati. un modulo custom html viene caricato entro il <body> quindi non può contenere tag a livello paritetico (head, body) o superiore (doctype).
nel modulo ci metti solo le immagini se hai caricato i js nell'head come ti avevo descritto, magari lo 'a capo' ti ha tratto in inganno :(
decidi: o metti i js nell'head, o li metti nel body, ma senza tentare di inserire tag che non possono stare lì.
prova a fare una validazione del codice e vedrai che ti segnerà l'errore, se poi a te basta che funzioni contenti tutti, io, per mentalità e professione, esigo anche la correttezza sintattica.
Error Line 224, Column 8: document type does not allow element "head" here
Error Line 272, Column 6: document type does not allow element "body" here
ciao,
marco
-
decidi: o metti i js nell'head, o li metti nel body, ma senza tentare di inserire tag che non possono stare lì.
Mi stai dicendo che nel modulo html, posso inserire sia il codice java script e css scritto sotto forma di link?
In pratica si tradurrebbe nel togliere i tag head e body dal mio modulo html?
Scusami se ribadisco ma ho fatta tanta confusione.
-
il css solo come link-rel.
comunque sì, come ho più volte detto non è obbligatorio che gli elementi siano nell'head.
torno a consigliarti un poco di studio dello html, se vuoi mettere le mani nel web devi conoscerne almeno le basi...
-
Quindi non posso scrivere un css per intero...ma come avevo supposto lo debbo scrivere sotto forma di link, così come scrivo i link per lo java script.
Ok , questo è chiaro.
Ho rifatto il modulo html, inserendo il codice...senza tag body e head.
Ecco il LINK (http://www.pdagrafica.com/joomla/toffini/index.php/en/gallery)
non so il perchè ma...non mi funziona più...però funzionava, pur togliendo i tag
-
Buon giorno, scusate se ritorno sull'argomento ma....mi è successo una cosa strana.
HO ripreso in mano il progetto.
Già precedentemente a volte funzionava e a volte no.
Ho creato un modulo html, ho incollato il mio codice dentro e nell'articolo interessato ci ho messo un loadposition.
Il risultato era che vedevo tutte e 7 le thumbs ma cliccandoci non faceva la funzione che doveva fare, come se non avesse preso in considerazione tutti i codici js e css .
Ho smanettato un po' e ho scoperto che se al posto del editor JCE oppure timyMCE utilizzo nessun editor (sito/Configurazione globale/edito predefiito), ottengo un editor pari al blocco note.
Scrivendo in questo il mio codice,ho notato che i js e css vengono letti e presi in considerazione solo che....on line due thumbs risultano avere un indirizzo errato e poi il js non funziona molto bene perchè spostando il mouse visualizzo una riga bianca intorno all'ingrandimento dell'immagine.
Sapreste spiegarmi come mai questa differenza di editor?
Grazie!
Ecco il link (http://www.pdagrafica.com/joomla/toffini/index.php/it/realizzazioni)