8 replies [Posljednji unos]
struja
User offline. Last seen 36 tjedana 5 dana ago. Offline
Član od: 07.09.2009
Unos: 7

Htio bih na glavnoj stranici prikazati najnovije unose na forumu.
Tako da se prikazuje mali teaser posljednjeg unosa, link do teme, datum i korisnik.

Može mala pomoć kako postići to uz views?

bas
User offline. Last seen 2 tjedna 6 dana ago. Offline
Član od: 01.09.2007
Unos: 331

koristiš li običan Drupal forum, onda moraš napravit Node based view. Odabarat field output style, i pod rubriku Fields dodat podatke koje želiš ispisivati. Na kraju dodaš još filter po node type = forum i sortiranje po datumu zadnjeg unosa.

struja
User offline. Last seen 36 tjedana 5 dana ago. Offline
Član od: 07.09.2009
Unos: 7

Ja sam to napravio, pod felds sam dodao da mi ispisuje


Node: Naslov
Taksonomija: All terms
Node: Updated/commented date
Node: Last comment author
Komentar: Tijelo
Node: Teaser

Ja bi htio da mi prikaze samo "Node: Teaser" ili "Komentar: Tijelo", samo jedno od tog ovisno o datumu...najnovije.

Jel ima kakvog rješenja za to, jer sam na to potrošio par dana da skuzim, a ništa

Hvala

bas
User offline. Last seen 2 tjedna 6 dana ago. Offline
Član od: 01.09.2007
Unos: 331

Najlakše je da napraviš posebnu template datoteku koja ti stilizira tu listu. Dakle odeš u View-u na:

Basic Settings -> Theme: Information

Dobit ćeš popis svih mogućih template datoteka s kojima možeš stilizirati taj view. Naziv template datoteke koji će tebi koristiti je:

Row style output: views-view-fields.tpl.php ...

Vidjeti ćeš da je pod Row style output navedeno više naziva. Od manje specifičnih prema specifičnijima. Preporučam da kreneš od kraja, dakle od najspecifičnijih.

Klikneš li na Row style output dobiti ćeš sadržaj datoteke koju ćeš iskopirati u svoj template (naziv si našao u predhodnom koraku):

<br />
<?php foreach ($fields as $id => $field): ?><br />
  <?php if (!empty($field->separator)): ?><br />
    <?php print $field->separator; ?><br />
  <?php endif; ?></p>
<p>  <<?php print $field->inline_html;?> class="views-field-<?php print $field->class; ?>"><br />
    <?php if ($field->label): ?><br />
      class; ?>"><br />
        <?php print $field->label; ?>:</p>
<p>    <?php endif; ?><br />
      <?php<br />
      // $field->element_type is either SPAN or DIV depending upon whether or not<br />
      // the field is a 'block' element type or 'inline' element type.<br />
      ?><br />
      <<?php print $field->element_type; ?> class="field-content"><?php print $field->content; ?>element_type; ?>><br />
  inline_html;?>><br />
<?php endforeach; ?><br />

Nakon toga, prije prve linije koda:

<br />
<?php foreach ($fields as $id => $field): ?><br />

Moraš iz $fields varijable izabaciti Node: Teaser polje ako postoji Komentar: Tijelo.

Nadam se da si nešto razumio, ukoliko nisi reci pa ću probati napraviti malo opsežniji tutorial.

LP

struja
User offline. Last seen 36 tjedana 5 dana ago. Offline
Član od: 07.09.2009
Unos: 7

Sad neznam kako maknut iz $fields neku od varijabli.
Probao sam sa


unset($fields['node_title']);

Znaci sa vrijednostima koje sam vidio u "Query" kod pregleda view-a.

bas
User offline. Last seen 2 tjedna 6 dana ago. Offline
Član od: 01.09.2007
Unos: 331

probaj ispisati $fields varijablu:

var_dump($fields);

Pa vidi kakvu ćeš strukturu dobiti.

struja
User offline. Last seen 36 tjedana 5 dana ago. Offline
Član od: 07.09.2009
Unos: 7

Nejde, iskoči mi prozor upozorenja sa porukom "An error occurred at /drupal/admin/build/views/ajax/preview/trest."

Isto tako sam probao sa print_r, al opet isto.

bas
User offline. Last seen 2 tjedna 6 dana ago. Offline
Član od: 01.09.2007
Unos: 331

to je zato što radiš preview iz administracije, probaj pogledat kako to izgleda na obicnoj stranici

struja
User offline. Last seen 36 tjedana 5 dana ago. Offline
Član od: 07.09.2009
Unos: 7

Da, radi...ispisalo mi je nekoliko tisuća redaka varijabli, ali radi.
Radi i


unset($fields['title'); //Izbacivanje naslova iz varijable
Tako da mi sad samo ostaje probrat da vidim koja je za što točno.

Hvala!