Vista con stile di riga nodo e titoli H1

21 contenuti / 0 new
Ultimo contenuto
Vista con stile di riga nodo e titoli H1

Ciao
ho creato una vista con stile di riga nodo per una serie di sondaggi (in modo che si vedano in elenco già aperti e pronti da votare, senza fare entra ed esci da ciascuno).
Il problema è che con il tema che uso i titoli sono H1 e che google vuole un solo H1 per pagina.
Siccome non voglio trasformare in H2 i titoli di tutti i nodi, come faccio a dare la condizione di formattare H2 soltanto i titoli dei sondaggi ??

grazie
ciao

o provi con semantic views oppure ti modifichi il template della vista

@vulcanus: ma nel node.tpl.php hai messo "h1" ?

finex wrote:
@vulcanus: ma nel node.tpl.php hai messo "h1" ?

oppure in alternativa ovviamente "node-NODETYPE.tpl.php
In seguito alla modifica rigenera la cache ed il gioco è fatto, questo metodo funziona solo se mantieni "lo stile di riga" a "nodo" ...

Slice2Theme Servizio per la conversione di Design in markup HTML e/o temi.

WeBrain Solution | Pillsofbits Of Bits

O ancora ti basta temizzare la vista. Usando lo stile riga, in Informazioni Tema puoi personalizzare solo il campo Node Title in modo che abbia il tag H2 anzichè H1.

Tutorial, guide e moduli per drupal su www.cmswiki.net

secondo me il tema è "sbagliato", nel senso che assegna la tag h1 ai titoli dei nodi nel template node.tpl anzichè in page.tpl.
in questo modo quando views pesca i nodi ne "ristampa" il tag h1 per il titolo.
Vedi se impostando la visualizzazione come teaser le cose cambiano, altrimenti devi modificare i template

<a href="mailto:[email protected]" rel="nofollow">[email protected]</a> wrote:
secondo me il tema è "sbagliato", nel senso che assegna la tag h1 ai titoli dei nodi nel template node.tpl anzichè in page.tpl.
in questo modo quando views pesca i nodi ne "ristampa" il tag h1 per il titolo.
Vedi se impostando la visualizzazione come teaser le cose cambiano, altrimenti devi modificare i template

si in effetti c'è qualche problema, perchè H1 l'avrebbe dovuto mostrare solo in vaso si stia visualizzando il Nodo singolarmente e non quando è listato insieme agli altri ...

Slice2Theme Servizio per la conversione di Design in markup HTML e/o temi.

WeBrain Solution | Pillsofbits Of Bits

@finex
sì ho messo h1

@kiuz
potresti spiegarmi meglio la tua aternativa "node-NODETYPE.tpl.php" ... non ho capito bene ...

@matteo85
ho provato a guardarci ma non ho trovato dove mettere le mani ... inoltre non mi piace l'idea di temizzare la vista in quanto in caso di aggiornamento dovrei ricordarmi di mantenere il file ... preferirei se possibile lavorare sul tema che rimane invariato

@bohz
su consiglio di un amico che si occupa di indicizzazione, ho preferito nell'ottica SEO di trasformare i titoli dei nodi in h1 e tutto il resto h2 o minore ... in modo da utilizzare termini mirati nell' h1 differenziando pagina per pagina.
Ovviamente il problema si presenta con view

Tenete presente che la visualizzazione della vista è un elenco di nodi COMPLETI di titolo e contenuto...è come se fossero "esplosi" uno sotto l'altro ... no teaser essendo sondaggi !!

Non so come fare ,ma in node.tpl.php, mi piacerebbe poter dire "stampa titolo in h1 tranne nel caso in cui appartenga ad un nodo di tipo sondaggio o proveniente da una vista ... in tal caso stampa come h2" ... purtroppo non so scrivere codice.

Idee??

Grazie
ciao

Vulcanus wrote:
@kiuz
potresti spiegarmi meglio la tua aternativa "node-NODETYPE.tpl.php" ... non ho capito bene ...

certamente,
da quello che leggevo tu lamentavi un errore o un problema in quanto scegliendo la visualizazione "nodo" venivano stampati tutti i tuoi contenuti "sondaggi" con titol H1 con evidente problema di validazione. A questo punto per non cambiare il markup ad altri tipi di nodi i quali magari non hai problemi, ti oh consigliato di utilizzare node-nodetype.tpl.php

Prendiamo in esempio il tipo di contenuto (Content Tyope) "sondaggio"
per editare tale tipo di nodo è sufficente "duplicare" node.tpl.php in un ulteriore file node-sondaggio.tpl.php nel quale potrai inserire il markup che più fa al tuo caso...

Rigenerando la chache, avrai il nuovo markup definito in node-sondaggio.tpl.php in tutti i tuoi "sondaggi" ....

Slice2Theme Servizio per la conversione di Design in markup HTML e/o temi.

WeBrain Solution | Pillsofbits Of Bits

Temizzare la view richiede i stessi passi per creare il "node-NODETYPE.tpl.php. O meglio, così come li crei un file da inserire nel tema cosi anche nella temizzazione della vista devi creare un file nel tema. Tutto qui. Ad es. views-view-field--nomevista--page--title.tpl.php e all'interno del file scrivi semplicemente <h2><?php print $output; ?></h2> Tutto qui. Il nome preciso da dare al tpl lo prendi alla voce Informazioni Tema nella tua vista...

Tutorial, guide e moduli per drupal su www.cmswiki.net

intanto grazie a tutti per i consigli ...

@kiuz
ho provato a duplicare node.tp.php come indicato e poi sostituito h1 con h2 ... vuoatato cache ... e provato ... ma non funziona. Sto sbagliando qualcosa .. ma non essendo il mio ramo non capisco cosa ...

@matteo85
ho capito la tua idea, a questo punto per il Seo sarebbe anche meglio: la vista in H2 ed i singoli nodi che la compongono in H1.
Sono andato per tentativi ed ho provato a creare uno per volta files con i nomi qui sotto ... inserendovi all'interno il codice da te indicato.
Ho anche fatto "rianalizza modello" e vuotato cache ... ma nulla !!

views-view-row-node--elenco-sondaggi.tpl.php
views-view-unformatted--elenco-sondaggi--page.tpl.php

Qui ti allego quanto suggerito in view

tema view

Se in questa maniera i titoli dei nodi elencati in vista si riescono a stampare in h2 ...sono a posto. Ma dove sbaglio?

Un altro aiutino ? ... ;-)

grazie
ciao

Scusa se rispondo solo ora...ma stai sbagliando a vedere. ;-)

La sezione è giusta ma devi vedere il gruppo sotto la voce Campo Nodo: Titolo (ID: title)
Usa l'ulitima voce e non puoi sbagliare!.
Ciao

EDIT: Mi sono accorto che stai usando come stile riga nodo. Per fare quello che ti ho detto dovresti usare stile riga Campi. Tuttavia puoi fare anche mantendendo NODO, ma il file che devi modificare è quello in Output dello stile ma in tal caso ti prendi il codice da li e accanto a title ci metti il tag h2.
Puoi fare in entrambi i modi in sostanza

Tutorial, guide e moduli per drupal su www.cmswiki.net

Ciao
grazie di nuovo per l'aiuto ... ho riprovato in qualche maniera ... ma non riesco ... forse posso spiegare meglio la mia situazione ... magari quello che voglio non è nemmeno fattibile.
Allego immagine di un sondaggio di prova.
Praticamente vorrei che i titoli nella vista fossero h2 mentre nel nodo h1 ... e la vista la vedo come nell'immagine.
Praticamente la vista mi crea un elenco di una decina sondaggi pronti all'uso senza cliccare sui link ...

Ho provato a guardare i temi delle viste, a creare un tpl.php nella cartella del tema ... ma non riesco ... non so bene cosa scrivere/dove ...
se qualcuno avesse ancora voglia di aiutarmi ... grazie grazie grazie ... altrimenti devo rinunciare

ciao

@vulcanus: quello che chiedi è il comportamento standard di un qualunque tema: nel node.tpl.php c'è "h2" mentre quando il nodo viene visualizzato come pagina completa il titolo è in "h1" (in quel caso il titolo è quello nel file page.tpl.php). Prova a togliere i template custom della vista (ovvero gli eventuali file creati del tipo views-view-row-node--elenco-sondaggi.tpl.php o views-view-unformatted--elenco-sondaggi--page.tpl.php) ed impostala come visualizzazione di nodi. Poi scegli "garland" come tema e vedrai che il risultato è proprio quello desiderato. A quel punto confronta il template garland con quello che stai usando tu e capirai tutto (42).

Allora Vulcanus, seguimi bene e vedi che riesci a farlo tranquillamente.
Mantenendo lo stile riga su Nodo, come gia hai fatto ora, mi baso sulle immagini che hai mandato.

Crea questo file in locale: views-view-unformatted-elenco-sondaggi-page-1.tpl.php.

Clicca sulla voce "Output dello stile". Vedi che ti esce il codice del template in uso. Dovrebbe essere una cosa cosi:

<?php
// $Id: views-view-unformatted.tpl.php,v 1.6 2008/10/01 20:52:11 merlinofchaos Exp $
/**
 * @file views-view-unformatted.tpl.php
 * Default simple view template to display a list of rows.
 *
 * @ingroup views_templates
 */
?>

<?php if (!empty($title)): ?>
  <h2><?php print $title; ?></h2>
<?php endif; ?>
<?php foreach ($rows as $id => $row): ?>
  <div class="<?php print $classes[$id]; ?>">
    <?php print $row; ?>
  </div>
<?php endforeach; ?>

Copia questo codice nel file appena creato.
Alla terza stringa non commentata (

<?php
 
print $title;
?>
) metti i tag h2 come mostrato.

Salva il file e caricalo nella root del tema in uso.
In tema informazioni della vista clicca su "Rianalizza file modello" e noterai che il template in grassetto passerà su quello che hai appena creato. Salva la vista ed il gioco è fatto.

La stessa cosa dicevo potevi realizzarla usando come stile riga: Campi. Ovvimente nella colonna campi del views inserisci Node:Title e il contenuto ed eventuali altri campi. Facendo cosi ovviamente in Tema Informazioni le cose cambiano un po e trovi anche il template del campo specifico Node:Title. Fai la stessa cosa creando il file e inserendo solo <h2><?php print $output ?></h2>.

Qualunque strada scegli potrai modificare le cose a tuo piacimento!

Tutorial, guide e moduli per drupal su www.cmswiki.net

Di nuovo grazie a tutti ed in particolare a matteo85 per i dettagli forniti.

...sento di essere molto vicino alla risoluzione ... ho seguito tutta la procedura relativa alla prima possibile soluzione di matteo85.
In pratica ho fatto:
1-creato file "views-view-unformatted--elenco-sondaggi--page-1.tpl.php"
2-nel contenuto ho inserito questo con tag h2

<?php
// $Id: views-view-unformatted.tpl.php,v 1.6 2008/10/01 20:52:11 merlinofchaos Exp $
/**
 * @file views-view-unformatted.tpl.php
 * Default simple view template to display a list of rows.
 *
 * @ingroup views_templates
 */
?>

<?php if (!empty($title)): ?>
  <h2><?php print $title; ?></h2>
<?php endif; ?>
<?php foreach ($rows as $id => $row): ?>
  <div class="<?php print $classes[$id]; ?>">
    <?php print $row; ?>
  </div>
<?php endforeach; ?>

3-posizionato nella root del tema
4-fatto rianalizza modello ... e come doveva ... si è evidenziato in grassetto il nuovo modello nell'output di stile
5-salvata la vista
6-pulito cache di drupal e del brower

Ho quindi ricaricato la pagina in questione, ma ancora vedo i titoli in h1 !!!

Se può essere d'aiuto nel codice sorgente in uscita della pagina ... ciò che vedo è questo

<div id="node-137" class="node node-mine node-teaser node-type-poll"><div class="node-inner">
  <div class="content">
        <h1 class="title">
Preferisci il caldo o il freddo ?</h1>

Praticamente credo di avere fatto tutto ... oppure mi sfugge ancora qualcosa??

grazie ancora

Forse nel page.tpl.php si potrebbe fare una cosa del genere

<?php if ($title == 'xxxxxxxxxxxxx xxxxxx xxxxx xxxxxx') : ?>
<h1 class="title"><?php print $title; ?></h1>
<?php endif; ?>

Scusa ma rileggendo la tua richiesta mi accorgo che ho scritto una cavolata in quanto il tuo titolo è sempre diverso; ma forse si potrebbe pensare a qualche altra condizione di if, ma non so come.

Rieccomi ...
finalmente posso farvi vedere la situazione reale, avendo appena pubblicato il sito.

http://www.emozionipavimentiinresina.com/sondaggi

Mi piacerebbe anche spaziare il titolo dai vari sondaggi che è "appiccicato"

Avete visto come sono brutti tutti quegli h1 !??!

grazie
ciao

Quote:
Mi piacerebbe anche spaziare il titolo dai vari sondaggi che è "appiccicato"

Prova con Firebug
Quote:
Avete visto come sono brutti tutti quegli h1 !??!

Infatti il problema, pur non essendoci nella home, esiste con il primary link sondaggi. Avevo letto anch' io da qualche parte che era meglio avere un solo h1.

OK,
ci riprovo ... non mi voglio arrendere ... voglio capire ...
Riproverò con Firebug.

O.T.
a proposito ho appena scoperto un altro un ottimo add-on per Firefox che si chiama "Web Developer 1.1.9"
E' super completo di tutto, anche troppo, ed a chi non lo conosce già consiglio di provarlo !

grazie
ciao