phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

Modificare <title> nell'overall_header

Supporto generale estensioni.
Avatar utente
frank
Utente
Utente
Messaggi: 1908
Iscritto il: 25/11/2014, 8:02
Sesso: Maschio
Versione: 3.1.7-PL1
Server: UNIX/Linux
PHP: 5.5.29
Database: MySQL(i) 5.5.43-log

Modificare <title> nell'overall_header

Messaggio da frank » 20/01/2016, 4:49

Nella mia estensione devo sostituire la parte title con un'altra, però non c'è un event così in alto da far interagire. Come posso fare?

Codice: Seleziona tutto

<title><!-- IF UNREAD_NOTIFICATIONS_COUNT -->({UNREAD_NOTIFICATIONS_COUNT}) <!-- ENDIF --><!-- IF not S_VIEWTOPIC and not S_VIEWFORUM -->{PAGE_TITLE} - <!-- ENDIF --><!-- IF S_IN_MCP -->{L_MCP} - <!-- ELSEIF S_IN_UCP -->{L_UCP} - <!-- ENDIF -->{SITENAME}<!-- IF S_VIEWTOPIC or S_VIEWFORUM --> - {SITENAME}<!-- ENDIF --></title>
devo sostituirla con questa:

Codice: Seleziona tutto

<title><!-- IF UNREAD_NOTIFICATIONS_COUNT -->({UNREAD_NOTIFICATIONS_COUNT}) <!-- ENDIF --><!-- IF not S_VIEWTOPIC and not S_VIEWFORUM -->{SITENAME} - <!-- ENDIF --><!-- IF S_IN_MCP -->{L_MCP} - <!-- ELSEIF S_IN_UCP -->{L_UCP} - <!-- ENDIF -->{PAGE_TITLE}<!-- IF S_VIEWTOPIC or S_VIEWFORUM --> - {SITENAME}<!-- ENDIF --></title>
Schermata 2016-01-20 alle 04.40.36.png
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Modificare <title> nell'overall_header

Messaggio da Micogian » 20/01/2016, 9:12

Secondo me hai 3 strade:
1) creare una copia di overall_header.html, fare le modifiche al tag <title> e usare questo overall_header1.html per le tue pagine personalizzate.
2) Modificare direttamente il file overall_header. Le modifiche del codice originale sono sconsigliate, non vietate.
3) Aggiungere due eventi nel file overall_header, ad esempio prima del tag title inserisci:

Codice: Seleziona tutto

<!-- EVENT title_header_before -->
e dopo il tag <title>

Codice: Seleziona tutto

<!-- EVENT title_header_after-->
In questo caso dovresti creare 2 eventi nell'estensione, nel primo evento nel file title_header_before inserisci semplicemente il tag inizio commento:

Codice: Seleziona tutto

<!--
Nel secondo file title_header_after ci metti la chiusura del commento e il title modificato

Codice: Seleziona tutto

-->
<title>.......</title>
Il risultato sarà questo:

Codice: Seleziona tutto

<!--
<title>codice originale</title>
-->
<title>Codice modificato</title>
In sostanza la parte originale del title non viene eliminata ma viene commentata e sostituita da quella successiva.
Anche questa comunque è una modifica al codice anche se lascia le cose come stanno se non viene abilitata l'estensione.
E' il sistema che ho usato per modificare la testata e inserire un menu nel mio forum di prova http://www.actaplantarum.org/forum/

Avatar utente
frank
Utente
Utente
Messaggi: 1908
Iscritto il: 25/11/2014, 8:02
Sesso: Maschio
Versione: 3.1.7-PL1
Server: UNIX/Linux
PHP: 5.5.29
Database: MySQL(i) 5.5.43-log

Re: Modificare <title> nell'overall_header

Messaggio da frank » 20/01/2016, 10:57

Io non voglio toccare il file originale

Avatar utente
Astro86
phpBB Expert
phpBB Expert
Messaggi: 924
Iscritto il: 12/08/2009, 14:36
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6
Database: MYSQL
Località: PC. Via localhost N° 82.51.149.40
Contatta:

Re: Modificare <title> nell'overall_header

Messaggio da Astro86 » 20/01/2016, 10:59

non ho ben capito dove vuoi far apparire il codice ma prima del overall_header_head_append ci sarebbe il overall_header_feeds

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Modificare <title> nell'overall_header

Messaggio da Micogian » 20/01/2016, 11:22

Le estensioni aggiungono codice, non lo sostituiscono. L'unica soluzione è commentare il codice che si vuole modificare e sostituirlo con quello modificato.
Si potrebbe invertire nell'estensione i valori delle 2 variabili PAGE_TITLE e SITENAME ma poi bisogna vedere che non siano usate in altra parte.

Avatar utente
frank
Utente
Utente
Messaggi: 1908
Iscritto il: 25/11/2014, 8:02
Sesso: Maschio
Versione: 3.1.7-PL1
Server: UNIX/Linux
PHP: 5.5.29
Database: MySQL(i) 5.5.43-log

Re: Modificare <title> nell'overall_header

Messaggio da frank » 20/01/2016, 11:25

Questo sta sotto il title <!-- EVENT overall_header_feeds -->

Avatar utente
frank
Utente
Utente
Messaggi: 1908
Iscritto il: 25/11/2014, 8:02
Sesso: Maschio
Versione: 3.1.7-PL1
Server: UNIX/Linux
PHP: 5.5.29
Database: MySQL(i) 5.5.43-log

Re: Modificare <title> nell'overall_header

Messaggio da frank » 20/01/2016, 11:29

E' possibile modificare il codice senza toccare il file originale, l'utente Sir l'ha già fatto

Avatar utente
Micogian
Leader Programmatori
Leader Programmatori
Messaggi: 3704
Iscritto il: 07/01/2010, 8:51
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.4.36
Database: MySQL 5.1.70-log
Località: Udine
Contatta:

Re: Modificare <title> nell'overall_header

Messaggio da Micogian » 20/01/2016, 11:31

La prima riga del file index_body.html che è l'indice del forum è questa

Codice: Seleziona tutto

<!-- INCLUDE overall_header.html -->
Se nel file overall_header.html non ci sono eventi non c'è soluzione se non la modifica del codice.
Anch'io ho modificato il codice da estensione, ma come ho spiegato nel mio intervento.

Avatar utente
frank
Utente
Utente
Messaggi: 1908
Iscritto il: 25/11/2014, 8:02
Sesso: Maschio
Versione: 3.1.7-PL1
Server: UNIX/Linux
PHP: 5.5.29
Database: MySQL(i) 5.5.43-log

Re: Modificare <title> nell'overall_header

Messaggio da frank » 20/01/2016, 11:35

Micogian ha scritto:La prima riga del file index_body.html che è l'indice del forum è questa

Codice: Seleziona tutto

<!-- INCLUDE overall_header.html -->
Se nel file overall_header.html non ci sono eventi non c'è soluzione se non la modifica del codice.
Anch'io ho modificato il codice da estensione, ma come ho spiegato nel mio intervento.
Allora devo aspettare Sir, lui sa come fare

Avatar utente
Sir Xiradorn
Grafico
Grafico
Messaggi: 1659
Iscritto il: 11/08/2009, 12:41
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 5.6.15
Database: MariaDB 10.1.9
Località: Lontano....
Contatta:

Re: Modificare <title> nell'overall_header

Messaggio da Sir Xiradorn » 20/01/2016, 13:13

La soluzione di Mico è quella da adottare in questo caso. Lui ti sta dicendo questo: Non devi commentare il codice originale, bensì usare una estensione per operare un comment su tale valore. Quindi in sostanza è quella che credo la migliore cosa se vuoi operare per bene. Quindi non vai a fare una sporcatura del codice originale, ma useresti quella furbata.

Se vuoi poi sfruttare tale procedura ancora più selettivamente potresti usare ad esempio lo SCRIPT_NAME come clausola dell'if e dire fai l'inversione SITENAME e PAGE_TITLE solo su alcune pagine.

Si sottolineo la soluzione portata in auge da MICO suggerendo che se l'estensione va a intaccare valori dentro un ciclo, potete sfruttarne anche dentro le potenzialità come sto facendo nel porting di una MOD

Quindi in breve, crea una estensione, o modificane una che hai già e creato tu, aggiungendo tale procedura.

La modifica del codice diretto è sconsigliata.

Esiste una ulteriore strada però. Diciamola come numero 4.
Esistono i core event che ti permettono di modificarne proprio l'header ovvero il core.page_header e con quello creare un listener e una funzione per intercettarne l'event del PAGE_TITLE o farne addirittura l'override

Più complessa questa strada ma forse anche più efficace (e tra le altre mi ha anche dato una mezza idea per una altra cosa che sperimenterò quanto prima).

Se vuoi pochi problemi Mico's rules it's the right way.

L'altra volta è stato possibile intervenire come una riscrittura perchè il tag era displayble cioè nascondibile. Il tag Title non ha la stessa simpatia del precedente caso
Sir Xiradorn
Immagine
~ XDojo - Xiradorn Lab Division - xiradorn.it ~
~ GitHub - XiradornLab ~

Immagine
Stargate - phpbb 3.0.x || 3.1.x || 3.2.x

Rispondi

Torna a “Supporto”

Chi c’è in linea

Visitano il forum: Nessuno e 93 ospiti