Aiutatemi a capire

25 contenuti / 0 new
Ultimo contenuto
Aiutatemi a capire

Sono esasperato!!!!! Non riesco a capire perchè succede questo. In una views ho un display di tipo page con stile list html, voci da visualizzare 10 e in campi ho inserito 5 field di tipo contenuto creati con cck.
Inserisco un solo contenuto per ogni field e quindi mi aspetterei un codice del tipo:

<ul>
    <li class="......">
        <div class="views-field-field-fd-bandiera-fid">....</div>
        <div class="views-field-field-fd-nome-nazione-value">....</div>
        <div class="views-field-field-fd-stemma-fid">....</div>
        <div class="views-field-field-fd-cart1-fid">....</div>
        <div class="views-field-field-fd-cartina2-fid">....</div>
    </li>
</ul>

invece mi ritrovo con questo codice:

<ul>
    <li class="views-row views-row-1 views-row-odd views-row-first">
        <div class="views-field-field-fd-bandiera-fid">....</div>
        <div class="views-field-field-fd-nome-nazione-value">....</div>
        <div class="views-field-field-fd-stemma-fid">....</div>
        <div class="views-field-field-fd-cart1-fid">....</div>
        <div class="views-field-field-fd-cartina2-fid">....</div>
    </li>
    <li class="views-row views-row-2 views-row-even"></li>
    <li class="views-row views-row-3 views-row-odd"></li>
    <li class="views-row views-row-4 views-row-even"></li>
    <li class="views-row views-row-5 views-row-odd"></li>
    <li class="views-row views-row-6 views-row-even"></li>
    <li class="views-row views-row-7 views-row-odd"></li>
    <li class="views-row views-row-8 views-row-even"></li>
    <li class="views-row views-row-9 views-row-odd"></li>
    <li class="views-row views-row-10 views-row-even views-row-last"></li>
</ul>

Come si vede ho 10 <li> di cui 9 vuoti e 1 con all'interno i 5 <div> relativi ai 5 field inseriti in campi.
Come posso fare in modo che i 9 <li> vuoti non vangano stampati? Ovviamente senza ridurre il numero delle visualizzazioni. Questo mi comporta il fatto che usando il paginatore mi trovo tante pagine del paginatore vuote, senza nulla, visto che nell'impostazione dei vari fiel ho flaggato l'opzione nascondi se vuoto.

Quote:
Aiutatemi ha capire
AAAAAAAAAAA
Hai attivo il raggruppamento? In ogni caso qual'è il problema e cosa devi fare?

che errore!!!!!!! la fretta!!!!! no non ho attivato il raggruppamento, come si attiva? Il problema è nell'uso del paginatore poichè se metto il limeite di visualizzazioni a 10 per esempio e le prime 10 righe sono vuote, mi trovo una pagina bianca o peggio se non uso il paginatore e il limite di visualizzazioni è 10, mi ritrovo con 11 righe di cui le prime 10 vuote e l'11sima con i contenuti e non visualizzo nulla... :-(
Poi un'altra cosa ho una vista con display di tipo pagina, senza paginatore e 3 display di tipo attachment su cui ho messo si su "Mostra paginatore:" ma questo non viene visualizzato perchè?
Grazie come sempre

Il duro lavoro fatto con passione, ripaga sempre!!!!

Immagino che devi inserire dei filtri sulla vista.

Ciao Giovanni, ho già inserito dei filtri per il temine di un vocabolario della tassionomia e in alcuni casi anche un'altro filtro esposto per altri termini di tassionomia di un'altro vocabolario. Quale altro filtro devo inserire per eliminare questi tag vuoti senza nessun tipo di contenuto?

Il duro lavoro fatto con passione, ripaga sempre!!!!

Prova a verificare se vi è la possibilità di un if <> nulls o qualcosa del genere. A mente non ricordo, comunque secondo me devi scartare, in qualche modo, quelli non hanno niente.

ma se spunti >>>> Empty text: >>>>> Hide if empty

giovanninews wrote:
Prova a verificare se vi è la possibilità di un if <> nulls o qualcosa del genere. A mente non ricordo, comunque secondo me devi scartare, in qualche modo, quelli non hanno niente.

Giovanni dove dovrei inserirlo, credo che debba essere inserito direttamente nel template della vista, questo è il codice standard:

<?php
// $Id: views-view-list.tpl.php,v 1.3 2008/09/30 19:47:11 merlinofchaos Exp $
/**
 * @file views-view-list.tpl.php
 * Default simple view template to display a list of rows.
 *
 * - $title : The title of this group of rows.  May be empty.
 * - $options['type'] will either be ul or ol.
 * @ingroup views_templates
 */
?>

<div class="item-list">
  <?php if (!empty($title)) : ?>
    <h3><?php print $title; ?></h3>
  <?php endif; ?>
  <<?php print $options['type']; ?>>
    <?php foreach ($rows as $id => $row): ?>
      <li class="<?php print $classes[$id]; ?>"><?php print $row; ?></li>
    <?php endforeach; ?>
  </<?php print $options['type']; ?>>
</div>

Io credo che un if possa essere messo all'altezza di questa riga <li class="<?php print $classes[$id]; ?>"><?php print $row; ?></li> ma come? che ne dici?

modcat wrote:
ma se spunti >>>> Empty text: >>>>> Hide if empty

Modcat, ove trovo queste impostazioni?

Il duro lavoro fatto con passione, ripaga sempre!!!!

Non capisco perchè cerchi di agire a livello di codice. Io mi riferivo invece a mettere dei filtri giusti a livello della vista che hai creato. Quando nella vista crei un filtro, visualizza tutti i gruppi e cerca di trovare il filtro giusto per te. Se non trovi niente che faccia al caso tuo, probabilmente la tua vista è logicamente errata.

Ma che filtro potrei impostare per non far comparire i <li> vuoti? Ossia quelli che non hanno field?

Il duro lavoro fatto con passione, ripaga sempre!!!!

sulle impostazioni della visualizzazione del campo. (Poi non capisco che fastidio ti danno se sono vuote)

il problema si verifica quando inserisco i paginatori e quando di conseguenza metto il limite di visualizzazioni. In pratiche se metto il limite di visualizzazioni a 10, per esempio, e ho 10 tag li vuoti prima di quello con i contenuti, non mi viene visualizzato nulla. Alro caso con i paginatori che anche se vi è un solo tag li con i contenuti questi mi visualizzano tante pagine vuote.... Sulle impostazioni del campo ho messo nascondi se vuoto, ma nulla. Per esempio ho un caso che non mettendo nessun limite alla visualizzazione mi trovo 12 tag li di cui 11 con i contenuti e l'ultimo senza...

Il duro lavoro fatto con passione, ripaga sempre!!!!

Forse sono io che non capisco, ma ci provo.
Se hai aggiunto 5 campi di tipo contenuto con cck, tra i filtri dovresti avere Contenuto: Descrizione (se hai utilizzato filefield) oppure Contenuto: Immagine (se hai utilizzato imagefield), ecc... Basta che aggiungi questo filtro.
Ma potrebbe anche essere Node: Pubblicato (visto che i contenuti vuoti sicuramente non saranno stati pubblicati.

Quote:
Ma potrebbe anche essere Node: Pubblicato (visto che i contenuti vuoti sicuramente non saranno stati pubblicati.

Ti stai confondendo, un nodo non pubblicato non è vuoto, semplicemente nella home normalmente non viene mostrato, è come salvarlo in bozza ma se non metti il filtro viene mostrato normalmente.
I tag sono tassonomia e vuoti in che senso che il contenuto non ha tag o che il tag non ha testo?
Se hai immagine o link o meglio.

@ealmuno
capito, ma prima ho dovuto interpretare.
A te consiglio, come prima cosa, un buon libro di grammatica.

Ecco il codice stampato quando nel display di tipo pagina imposto il paginatore (mini) e il limite di visualizzazioni a 5. Premetto ho inserito 9 contenuti per questa vista:
1° pagina del paginatore:

<div class="view-content">
<div class="item-list">
<ul>
  <li class="views-row views-row-1 views-row-odd views-row-first"></li>
  <li class="views-row views-row-2 views-row-even">
      <div class="views-field-field-aut-disp-file-fid">.....</div>
  </li>
  <li class="views-row views-row-3 views-row-odd">
      <div class="views-field-field-aut-disp-file-fid">.....</div>
  </li>
  <li class="views-row views-row-4 views-row-even">
      <div class="views-field-field-aut-disp-file-fid">.....</div>
  </li>
  <li class="views-row views-row-5 views-row-odd views-row-last">
      <div class="views-field-field-aut-disp-file-fid">.....</div>
  </li>
</ul>
</div>
</div>

2° e ultima pagina del paginatore:

<div class="view-content">
<div class="item-list">
<ul>
  <li class="views-row views-row-1 views-row-odd views-row-first">
     <div class="views-field-field-aut-disp-file-fid">.....</div>
  </li>
  <li class="views-row views-row-2 views-row-even">
     <div class="views-field-field-aut-disp-file-fid">.....</div>
  </li>
  <li class="views-row views-row-3 views-row-odd">
     <div class="views-field-field-aut-disp-file-fid">.....</div>
  </li>
  <li class="views-row views-row-4 views-row-even">
     <div class="views-field-field-aut-disp-file-fid">.....</div>
  </li>
  <li class="views-row views-row-5 views-row-odd views-row-last">
     <div class="views-field-field-aut-disp-file-fid">.....</div>
  </li>
</ul>
</div>
</div>

Come si vede nella prima pagina ci sono sempre 5 tag li ma il primo è vuoto. Ecco io vorrei eliminare questi tag li vuoti,

Il duro lavoro fatto con passione, ripaga sempre!!!!

Il primo è vuoto perché i campi saranno vuoto, prova a mettere un filtro dove il campo è diverso dal vuoto.

che fitro dovrei impostare?

Il duro lavoro fatto con passione, ripaga sempre!!!!

dipende da cosa mostri te.

mostro solo field di tipo contenuto che ho creato tramite cck. Su filtri ho impostato dei termini di tassionomia.

Il duro lavoro fatto con passione, ripaga sempre!!!!

Se il contenuto è vuoto in teoria ti mostra il campo vuoto, metti un filtro dove imposti contenuto diverso da e lasci vuoto.

correggimi se sbaglio ma su filtri, posso lavorare sicuramente con i field di "contenuto", ma quelli se vuoti già vengono nascosti, io dovrei lavorare sullo stile di tipo html list, al fine di eliminare i tag li al cui interno non vi è nulla. Pensavo di mettere le mani, con un if ad esempio, sul codice del tema della vista, ma non so come

Il duro lavoro fatto con passione, ripaga sempre!!!!

Questo è il codice che mi stampa i tag <li> nella vista:

<?php
// $Id: views-view-list.tpl.php,v 1.3 2008/09/30 19:47:11 merlinofchaos Exp $
/**
 * @file views-view-list.tpl.php
 * Default simple view template to display a list of rows.
 *
 * - $title : The title of this group of rows.  May be empty.
 * - $options['type'] will either be ul or ol.
 * @ingroup views_templates
 */
?>

<div class="item-list">
  <?php if (!empty($title)) : ?>
    <h3><?php print $title; ?></h3>
  <?php endif; ?>
  <<?php print $options['type']; ?>>
    <?php foreach ($rows as $id => $row): ?>
      <li class="<?php print $classes[$id]; ?>"><?php print $row; ?></li>
    <?php endforeach; ?>
  </<?php print $options['type']; ?>>
</div>

Mi sembra di capire che se i tag <li> sono vuoti è perchè? $row è vuota giusto? Come posso inserire un if in modo che se $row non è vuota esegua regolarmente questo il codice<li class="<?php print $classes[$id]; ?>"><?php print $row; ?></li> se invece $row è vuota non deve stampare nulla?

Il duro lavoro fatto con passione, ripaga sempre!!!!

<?php if ($row!="") ?> <li class="<?php print $classes[$id]; ?>"><?php print $row; ?></li> <?php } ?>

ealmuno funziona così?

Il duro lavoro fatto con passione, ripaga sempre!!!!