Prova a inserire il codice del popup prima del tag <?PHP nel file modules/Content/index.php.
_________________ Non inviatemi pm con richieste di aiuto grazie.
Su questo forum solo gli utenti registrati possono vedere i links! Registrati o fai il login
Inviato:
Lun Ago 06, 2007 2:06 am
Eduardo Affezionato
Registrato: Aug 05, 2007 Messaggi: 76
Oggetto:
Ho provato ma non funziona.
Controllando nella pagina della sorgente del codice lo script non viene neanche visualizzato.
Penso che il problema può risolverlo soltanto chi conosce i cambiamenti che sono avvenuti nel passaggio dalla versione 7.5 a 7.6 e dalla pach 2.6 alle successive sino alla 3.3.
Non hai specificato che tipo di popup ti serve ma suppongo che sia ad apertura automatica, quindi per prima cosa disattiva tutto quello che hai installato sul pc che blocca l'apertura di popup (opzione nel browser, firewall ecc...).
Apri il file modules/Content/index.php
cerca:
Codice:
<?PHP
Prima aggiungi
Codice:
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function popUp(URL) {
day = new Date();
id = day.getTime();
eval("page" + id + " = window.open(URL, '" + id + "', 'toolbar=0,scrollbars=0,location=0,statusbar=0,menubar=0,resizable=0,width=500,height=300');");
}
// End -->
</script>
<BODY onLoad="javascript:popUp('http://www.google.it)">
Script testato su php-nuke 7.6 + patch 3.3 e funziona perfettamente.
_________________ Non inviatemi pm con richieste di aiuto grazie.
Su questo forum solo gli utenti registrati possono vedere i links! Registrati o fai il login
Inviato:
Lun Ago 06, 2007 12:30 pm
Eduardo Affezionato
Registrato: Aug 05, 2007 Messaggi: 76
Oggetto:
Ti faccio comprendere quale è la mia esigenza primaria e come mi regolavo fino alla versione 7.5 pach 2.6.
Inserisco nel file includes/javascript.php il codice che segue:
Nelle pagine del modulo Content lo richiamo con quello che segue:
<a href="parti/giulianiop101.html" onclick="NewWindow(this.href,'name','365','525','yes');return false;">Open Part's First Pages</a>
Ritengo che la prima parte va a finire nell'head della pagina html mentre la seconda Parte va nel body. Questa seconda parte è sempre diversa in quanto linka pagine sempre diverse collocate in una cartella chiamata parti.
Il link al pop up è collocato sulle parole Open Part's First Pages.
Per visualizzare una pagina e vedere la dinamica dei due codici basta andare su questi link:
e fare clic sulle parole: Open Part's First Pages poste in testa alla pagina.
Naturalmente la funzione è onclic e non onload.
Non riesco a far funzionare il codice che mi hai inviato. Ti informo che utilizzo la versione 7.6 realizzata da Weblord siglata: WL-Nuke_1.0
Ti prego di collaudare il mio javascript secondo le tue modalità tenendo presente che l'onclic porta all'apertura del pop up con contenuti sempre diversi e comunque di suggerirmi eventuali dritte per risolvere questo mio stressante problema.
Non riesco a far funzionare il codice che mi hai inviato. Ti informo che utilizzo la versione 7.6 realizzata da Weblord siglata: WL-Nuke_1.0
Lo script l'ho provato anche su quella versione e funziona perfettamente
Ho provato anche il tuo script inserendolo come da te descritto nel file includes/javascript ho inserito prima della chiusura del tag ?>
Poi nell'index.php del modulo content ho inserito il link per l'apertura del popup
Codice:
echo "<a href=\"http://www.google.it\" onclick=\"NewWindow(this.href,'name','365','525','yes');return false;\">Open Part's First Pages</a>";
e funziona tutto perfettamente.
Sono andato sul sito del link che hai postato e anche li il popup si apre perfettamente.
Tutte le prove come da te richiesto sono state fatte sulla versione WL-Nuke 1.0.
Se lo script che ti ho postato e detto di inserire prima dell'apertura del tag <?PHP del modulo content file index.php non funziona credo possa dipendere da qualche blocco popup che hai attivo sul tuo pc non vedo altra spiegazione.
Fammi sapere
_________________ Non inviatemi pm con richieste di aiuto grazie.
Su questo forum solo gli utenti registrati possono vedere i links! Registrati o fai il login
Inviato:
Lun Ago 06, 2007 11:21 pm
Eduardo Affezionato
Registrato: Aug 05, 2007 Messaggi: 76
Oggetto:
Sicuramente non mi sono spiegato.
Tramite il modulo Content devo costruire 100 pagine tutte diverse l'una dall'altra.
In ogn'una di esse devo sistemare un link sulla parola Open Part's First Pages che è sempre diverso. Il popup deve caricare una pagina html sempre diversa.
La stringa di codice che mi permette di fare ciò tu mi dici che la devo mettere nell'index.php del modulo content. L'index è uno solo non è sempre diverso per ciascuna delle 100 pagine che devo costruire con il content!
Mi stai dando delle indicazioni non aderenti alla soluzione del problema che ti ho proposto.
Ricapitolando:
devo costruire 100 pagine con il modulo content;
in ogn'una di esse devo inserire una stringa di codice javascript diversa che richiamando l'altra porzione di codice collocata in includes/javascript.php mi permetta di aprire un popup che visualizzi pagine html già precostituite sempre diverse.
Ti ricordo che la pagina a cui ti ho indirizzato nel mio post precedente è una delle 100 che ho già costruito e funzionano perfettamente con la modalità sopra descritta ma con una versione obsoleta ed a rischio cioè 7.5 pach 2.6, che era nelle mie intenzioni sostituire con quella prodotta da Weblord pacciata 3.3.
Questo è tutto ricordandoti ancora che il mio browser è settato correttamente dal momento che le pagine analoghe a quelle del link di cui sopra le apre e le visualizza correttamente e completamente.
Mi stai dando delle indicazioni non aderenti alla soluzione del problema che ti ho proposto.
Adesso ho capito quello che ti serve l'errore è dipeso dal fatto che hai inserito il tuo problema in un topic già aperto che pur trattando sempre di popup veniva richiesto una cosa diversa, precisamente veniva richiesto l'integrazione del codice all'interno di file .php.
All'inizio non hai neppure specificato cosa ti serviva lo hai fatto solo nell'ultimo post e non essendo attinente a questo topic sarebbe stato meglio aprirne uno nuovo.
Cmq tornando al tuo problema, non puoi inserire il popup in una textarea, se non ricordo male già dalla patch 3.1 è stato implementato il codice in modo da impedire l'inserimento di codice potenzialmente pericoloso, tieni presente che le patch sviluppate per quel modulo sono tutte improntate nel bloccare proprio quel tipo di codice.
Ora le soluzioni possono essere 2, o carichi un modulo non patchato o con patch inferiori alla 3.1 (cosa che sconsiglio per la sicurezza del tuo sito), o se non hai particolari esigenze potresti realizzare un modulo con pagine statiche in html così inserisci quello che vuoi.
Quest'ultima soluzione sicuramente è più scomoda ma cmq tutto dipende da quello che ti serve e ci devi fare.
Ti ricordo che cercare moduli alternativi che ti permetto di inserire nella textarea codice javascript può essere potenzialmente pericoloso.
Al momento non mi viene in mente altro.
_________________ Non inviatemi pm con richieste di aiuto grazie.
Su questo forum solo gli utenti registrati possono vedere i links! Registrati o fai il login
Inviato:
Mer Ago 08, 2007 12:02 am
Eduardo Affezionato
Registrato: Aug 05, 2007 Messaggi: 76
Oggetto:
Permettimi di orientarti verso questo tipo di soluzione:
come ben sai ogni modulo del phpnuke contiene e visualizza dei dati relativi alla paternità dell'autore (copyrignt).
Questi vengono visualizzati tramite codice javascript che funziona correttamente con tutte le versioni della pach. Ti ricordo che la porzione di codice dell'head specifica per questa funzione è espressa sempre nel file includes/javascript.php.
Il link si trova nel footer.php e va a prelevare i dati che si trovano in ciascun modulo in un file che si chiama copyright.php.
E' possibile inserire il codice che si trova nel footer nella textarea? e quindi costruire tanti file analoghi al copyright.php, nominandoli in maniera sempre diversa, da richiamare dalla textarea ?
Forse non mi sono spiegato bene, non puoi inserire quel tipo di codice all'interno di una textarea, quello a cui fai riferimento tu (il file copyright.php) non è la stessa cosa, lo script non fa altro che caricare se presente un link che richiama il file copyright.php in un popup alla fine di un modulo, quindi ogni modulo ha un solo file copyright.php.
Nel tuo caso potresti riprendere la strada che ti avevo suggerito all'inizio e cioè quella di inserire il codice all'interno del file modules/Content/index.php nella funzione showpage dove vuoi che appaia il link inserirai una cosa del genere:
Codice:
echo "<a href=\"modules/Content/$pid.html\" onclick=\"NewWindow(this.href,'name','365','525','yes');return false;\">Open Part's First Pages</a>";
A questo punto viene associato l'id dell'articolo a un file che dovrai andare a creare e uppare in modules/Content, più precisamente se l'articolo ha id 5 tu dovrai creare un file di nome 5.html e così per tutti gli altri id 6 file 6.html, id 7 file 7.html ecc.....
Con questa soluzione ogni articolo ha il suo link associato per id a un file, credo sia la soluzione che si avvicina di più a quello che mi hai chiesto visto che come facevi prima non lo puoi più fare per i motivi sopra descritti.
_________________ Non inviatemi pm con richieste di aiuto grazie.
Su questo forum solo gli utenti registrati possono vedere i links! Registrati o fai il login
Inviato:
Mer Ago 08, 2007 8:52 pm
Eduardo Affezionato
Registrato: Aug 05, 2007 Messaggi: 76
Oggetto:
Ho dovuto modificare il codice come segue:
<a href="modules/Content/parti/119.html" onclick="NewWindow(this.href,'name','365','525','yes');return false;">Open Part's First Pages</a>
dovendolo inserire in una textarea.
Dammi conferma che ciò è corretto.
Dovresti pure indicarmi il punto preciso del file modules/content/index.php dove inserire il javascript che segue:
Ti ricordo che questi collaudi li sto praticando su una versione di prova redatta da Weblord: WL-Nuke_1.0 (con l'editor implementato).
Ti anticipo già da ora che, indipendentemente dalla giusta o meno collocazione del codice nella pagina dell'index del content, nei vari tentativi fatti, il sistema mi annulla tutta la parte del codice che segue onclick cioè:
Non ho capito se mi stai prendendo in giro o solamente non leggi con attenzione quello che scrivo
Prima di continuare ti pregherei di rileggerti con attenzione quello che è già stato scritto che tra l'atro contiene già la soluzione a quello che mi hai appena chiesto.
Qualora avessi ancora dei dubbi ti ribadisco per l'ultima volta che non devi inserire ne il codice dello script ne il link che lo richiama nella textarea.
Per prima cosa apri il file includes/javascript.php e prima della chiusura del tag ?> inserisci il codice
salvi e apri il file modules/Content/index.php, nella funzione showpage inserisci il link che richiama il popup dove vuoi che appaia (il link) per esempio subito dopo
Codice:
if ($page == 1) {
echo "<p align=\"justify\">".nl2br($mypage_header)."</p><br>";
Ti ricordo che il codice da inserire in quel punto è questo
Codice:
echo "<a href=\"modules/Content/$pid.html\" onclick=\"NewWindow(this.href,'name','365','525','yes');return false;\">Open Part's First Pages</a>";
sopra ho spiegato anche come creare le pagine che si apriranno nel popup.
Non credo manchi nulla quindi se hai ancora dei dubbi ti invito a rileggere tutto attentamente prima di proseguire con le domande.
_________________ Non inviatemi pm con richieste di aiuto grazie.
Su questo forum solo gli utenti registrati possono vedere i links! Registrati o fai il login
Inviato:
Gio Ago 09, 2007 1:48 pm
Eduardo Affezionato
Registrato: Aug 05, 2007 Messaggi: 76
Oggetto:
Ti prego di non interpretare male la mia ignoranza. Questo tipo di manovra in un index di un modulo non l'avevo mai praticata.
Era necessario che io capissi la dinamica, seppure elementare, di quelle poche righe di codice.
CI SONO RIUSCITO E TUTTO FUNZIONA.
C'è un inconveniente, penso irrisolvibile: non potrò mai costruire pagine con il content senza quel link che fa aprire il popup. La cosa mi crea problemi quando devo costruire una semplice pagina di contenuti testuali che non necessita di alcun popup.
Potrei però raddoppiare il content in un modulo da denominare content2 installando nel database una seconda tabella.
C'è un inconveniente, penso irrisolvibile: non potrò mai costruire pagine con il content senza quel link che fa aprire il popup. La cosa mi crea problemi quando devo costruire una semplice pagina di contenuti testuali che non necessita di alcun popup.
E' facilmente risolvibile aggiungendo una condizione, per prima cosa devi creare una categoria esclusivamente dedicata agli articoli che dovranno avere il popup.
Apri phpmyadmin e vai alla tabella _pages_categories all'interno trovi 3 campi cid, title, description ora in corrispondenza del campo title che contiene il nome della categoria dove si trovano gli articoli con i popup ricordati il valore del campo cid.
Nell'esempio che ti faccio il campo cid ha il valore 2 ma è solo un esempio
Apri il file modules/Content/index.php nella funzione showpage
cerca:
Codice:
$mycounter = intval($mypage['counter']);
subito sotto aggiungi
Codice:
$mycid = intval($mypage['cid']);
ora ti basterà modificare il link da così
Codice:
echo "<a href=\"modules/Content/$pid.html\" onclick=\"NewWindow(this.href,'name','365','525','yes');return false;\">Open Part's First Pages</a>";
a così
Codice:
if ($mycid == 2) {
echo "<a href=\"modules/Content/$pid.html\" onclick=\"NewWindow(this.href,'name','365','525','yes');return false;\">Open Part's First Pages</a>";
}
Fai attenzione come vedi qui
Codice:
if ($mycid == 2)
ho inserito il valore di esempio 2 del cid tu lo dovrai sostituire con il tuo valore.
Con questa piccola modifica solo in quella categoria verranno visualizzati i link dei popup.
Ora si presenta un'altro piccolo problema, visto che scriverai più articoli e non tutti conterranno popup ti troverai in difficoltà nel creare le pagine html visto che la pagina va in base all'id.
Per sistemare il problema apri il file modules/Content/index.php cerca la funzione list_pages_categories
cerca
In questo modo i titoli degli articoli nella lista contenuti verranno numerati in base all'id ti basterà creare la pagina popup in html basandoti su quel numero, per esempio se il numero è 10 la pagina si chiamerà 10.html, la numerazione è visibile solo all'admin.
_________________ Non inviatemi pm con richieste di aiuto grazie.
Su questo forum solo gli utenti registrati possono vedere i links! Registrati o fai il login
Inviato:
Sab Ago 11, 2007 1:20 am
Eduardo Affezionato
Registrato: Aug 05, 2007 Messaggi: 76
Oggetto:
Le cose si complicano in quanto il modulo Content non permette di annidare le categorie a più livelli, cioè con sottocategorie, come ad esempio in OSCommerce.
Mi spiego meglio per farti comprendere quali sono le mie esigenze.
Devo compilare un catalogo che comprenda ad esempio 3 grandi categorie:
Chitarra Sola
Opera Omnia
Musica da Camera
Tutte dovranno contenere molteplici sottocategorie, ciascuna di queste sarà il nome dell'autore.
Ognuna di queste sottocategorie dovrà contenere le pagine che costruisco con il modulo Content, cioè le opere composte dall'autore (immagini, testo, midi, ecc.).
Chitarra Sola (Categoria Principale) / Autore (Sottocategoria) / Opera di questo autore (La pagina che costruisco con il Content).
Le pagine che devono contenere il link "Open Part's First Pages", cioè il popup saranno solo quelle che inserirò nella categoria Musica da Camera che a sua volta anniderà la sottocategoria dei vari autori ove inserirò il contenuto con il popup che visualizzerà le parti staccate del brano di musica da camera cioè con più strumenti.
Normalmente visualizzo una sola immagine in formato gif relativa al frontespizio dell'opera assieme al file midi che la esegue interamente.
Quando si tratta di più strumenti (musica da camera) aggiungo il popup per visualizzare i frontespizi di tutte le parti staccate. Una gif per ogni strumento inserite in una pagina numerata con estensione .html per come mi hai ben istruito.
Naturalmente il Content ufficiale non permette di creare sotto categorie e nessuno ha mai osato modificarlo in tal senso, per quanto io ne sappia. Per cui realizzare i tuoi cambiamenti non mi permette di mantenere la giusta gerarchia nel catalogo delle opere.
Prevedo che per realizzare questa modifica sia necessaria qualche giornata di lavoro. Adottarlo per me comporterà almeno un mese di lavoro, in quanto dovrò riscrivere almeno l'80% del mio portale.
Essendo una modifica che mi consente di installare la versione del phpnuke prodotta da Weblord con pach 3.3 sono disposto a fare ogni tipo di sacrificio, aiutandoti nei collaudi più minuziosi.
La cosa ti permetterà di distribuire il modulo con la massima sicurezza nel settore dell'open source.
Diversamente dovrò accontentarmi del buon risultato anche se parziale che mi hai sopra suggerito.
Per problemi di tempo non posso realizzare la modifica delle sottocategorie che chiedi cmq si può fare in modo che i popup siano inseriti negli articoli tramite un checkbox
Per prima cosa devi aggiungere un campo nella tabella _pages nel database.
ATTENZIONE nell'esempio il prefix è nuke (di default) se tu lo hai cambiato devi modificare anche la query quindi apri phpmyadmin, esegui la query
Codice:
ALTER TABLE `nuke_pages` ADD `popup` TINYINT( 2 ) NOT NULL ;
Apri il file modules/Content/admin/index.php
In function content_edit
cerca
Apri il file modules/Content/index.php
cerca (modifica che avevi fatto)
Codice:
$mycid = intval($mypage['cid']);
sostituiscila con
Codice:
$mypopup = intval($mypage['popup']);
cerca (modifica che avevi fatto)
Codice:
if ($mycid == 2) {
echo "<a href=\"modules/Content/$pid.html\" onclick=\"NewWindow(this.href,'name','365','525','yes');return false;\">Open Part's First Pages</a>";
}
sostituiscila con
Codice:
if ($mypopup == 1) {
echo "<a href=\"modules/Content/$pid.html\" onclick=\"NewWindow(this.href,'name','365','525','yes');return false;\">Open Part's First Pages</a>";
}
A questo punto nella sezione admin quando andrai a editare l'articolo (non a crearlo non avevo voglia di sbattermi più di tanto, accontentati ) subito sotto la Firma troverai l'opzione Attivare il popup?
ti basterà spuntare Si o No per aggiungerlo in quell'articolo o toglierlo.
Ovviamente questa è solo l'opzione che allega il link per il popup, per l'associazione (link/file.html) rimane valido quello che ho spiegato sopra.
Fammi sapere.
_________________ Non inviatemi pm con richieste di aiuto grazie.
Su questo forum solo gli utenti registrati possono vedere i links! Registrati o fai il login
Ultima modifica di Sniffer il Gio Ago 16, 2007 12:51 am, modificato 2 volte in totale
Non puoi inserire nuovi Topic in questo forum Non puoi rispondere ai Topic in questo forum Non puoi modificare i tuoi messaggi in questo forum Non puoi cancellare i tuoi messaggi in questo forum Non puoi votare nei sondaggi in questo forum