Blog

Hallo.

Ik heb een template gemaakt en in drupal gezet.
Het is een blog maar ik vraag me af hoe dit moet :

Ingezonden door admin op di, 02/09/2010 - 17:51

staat er altijd bij maar kan je dit ook apart postioneren?
want ik wil dat in een div alleen weet niet welke variable het is.
Ook het zelfde met reacties.

MVG,

Dennis

P.s: zo moet het eruit zien :
http://hedendaagsekunst.com/dit.jpg
maar het ziet er zo uit :
http://hedendaagsekunst.com/drupal/

 
afbeelding van hansrossel

zie je template node.tpl.php, daarin print $submitted of bij wat meer uitgewerkte templates heb je daar alternatieve versies van die makkelijker configureerbaar zijn (bijvoorbeeld Zen theme of een van de Acquia themes).

eris toch ergens ook een lijst met al deze dingen $?

en het helpt niet :S

als je op het plaatje druk ( dit.jpg )
dan zie je wat ik wil en als je de site bezoekt dan is het dus heel anders.

Title = Blog naam
terwijl ik juist wil dat de titel van de post erin staat :S

is er geen speciale tpl voor blog?
of moet dit ook gwn in page

afbeelding van hansrossel

Om dingen aan je template te wijzigen kun je best eens http://drupal.org/theme-guide lezen en bij voorkeur ook wat van css kennen.

ja maar er is toch een lijst met alle variabelen weet iemand de link

afbeelding van hansrossel

Voor variabelen in node.tpl.php zie /modules/node, daar zit het orginele node.tpl.php met uitleg bovenaan. Voor variabelen in page.tpl.php en andere core templates zie /modules/system voor de originele tpl.php bestanden met uitleg.

hey ben al beetje op weg alleen nu volgende probleem.

http://hedendaagsekunst.com/drupal/
als je hier kijkt zie je dat de titel van de post er staat
ga je naar reacties kijken dan is de titel weg.
hoe kan dit komen?

MVG,

Dennis

Volgens mij is dat een optie in de code van je template. Ik heb mijn theme gemaakt (drupal-x.nl) op basis van Garland. Ik had precies hetzelfde, had ook de titel nodig op de vervolgpagina's. Uit mijn hoofd stond er iets van

<?php
if ($page == 0)

Pagina 0 is de homepage. Ik denk dat je dan zoiets kan doen

<?php
if ($page == 0){
// volgens mij staat hier je h2 tag met link naar je artikel
}else{
// hier moet dan de titel komen van je artikel
}

Hoe het precies zit kan ik nog niet zeggen, zit nu op mijn werk maar kan vanavond wel even voor je kijken.

Gr Marcel

afbeelding van hansrossel

- $page == 0 is als de node weergegeven wordt als teaser of in een lijst. Dus maw als ze niet als full node (volledig) wordt weergegeven. Als je homepage op de standaardinstelling (bij websitegegevens) als url "node" heeft, dan geldt dit inderdaad ook voor de homepage, maar is dus meer dan homepage alleen.
- if $is_front: dit is indien je zou willen als iets enkel op de homepage wordt getoond.

Hey,

weet jij misschien dan een oplossing?

hey marcel
alvast bedankt voor de hulp.
als je zou willen graag!

dan kijk ik later op de dag nog ff ;)

Zo ben thuis, zo heb ik het opgelost in node.tpl

<?php if ($page == 0): ?>
<h2><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
<?php else: ?>
<h1><?php print $title ?></h1>
<?php endif; ?>

Dit zou moeten werken.

thx voor de hulp maar het werkt niet krijg een witte pagina.
maar het php is het toch } else { ?

hmmm dat is vreemd, misschien kan je hier wat mee http://drupal.be/node/2092#wsod

Klopt, ik gebruik else ook alleen de accolade hoef je niet te gebruiken. (anders zou het ook bij if statement moeten)

afbeelding van hansrossel

Kijk eens in je php error log voor de preciese fout die je hebt gemaakt, kan een ; zijn { of ergens iets anders kleins in de syntax. Eventueel kun je php/Drupal configureren dat de foutmeldingen op het scherm verschijnen (niet aan te raden op live sites).

<div class="node<?php if ($sticky) { print " sticky"; } ?><?php if (!$status) { print " node-unpublished"; } ?>">
       <div class="insluiten">
        <div class="pijl"></div>
         <?php if ($page == 0) { ?><div class="titel"><?php print $title ?><?php }; ?>
  <?php else: ?>
          <?php print $title ?>
          <?php endif; ?>
          </div>
        <div class="info"><?php print $submitted?></div>
        <div class="post"><?php print $content?></div>
        <?php if ($links) { ?><div class="reacties">&raquo; <?php print $links?></div><?php }; ?>
    </div>

dit is wat ik heb
en waar vind ik de error logs

afbeelding van hansrossel

Error logs vind je op je server. In je code zitten heel wat syntax fouten, als je wil met { } werken doe je dat dan best voor alles en combineer dat niet met :, na } geen ; na opdrachten wel een ; $links?> daar spatie tussen zetten. Vergelijk eens je code met de originele code of bekijk ze eens in een php editor dan ga je meteen aan de kleuren zien dat het helemaal niet goed zit met de syntax.

En als je wat aan je code wil uitgeraken plaats je best 2 spaties bij elke sublijn en orden je de tags en opdrachten wat zodat de structuur duidelijk wordt. Zo is het echt wel rommelig. Bekijk eens http://drupal.org/coding-standards.

afbeelding van hansrossel

Best ook eens http://www.php.net/manual/en/control-structures.elseif.php bekijken en wellicht ook nog wat andere zaken op php.net

  <div class="node<?php if ($sticky) { print " sticky"; } ?><?php if (!$status) { print " node-unpublished"; } ?>">
       <div class="insluiten">
        <div class="pijl"></div>
         <?php if ($page == 0) { ?><div class="titel"><?php print $title ?></div>
  <?php } else { ?>
          <div class="titel"><?php print $title ?></div>
          <?php }; ?>
        <div class="info"><?php print $submitted?></div>
        <div class="post"><?php print $content?></div>
        <?php if ($links) { ?><div class="reacties">&raquo; <?php print $links ?></div><?php }; ?>
    </div>

'
met dit werkt het bij mij.