afbeelding van 30equals

custom weergave van inhoud gebaseerd op content type

hoi iedereen.

ik heb nog eens een vraagje. na een tijd fora af te schuimen en zelf wat te proberen, heb ik besloten om mijn vraag dan maar zefl te posten.

wat ik wil bereiken is:

in mijn custom page-front heb ik een div waar een teaser van het laatste nieuwsbericht te zien zou moeten zijn.

ik heb een nieuwe content type aangemaakt: nieuwsbericht
en met deze code heb ik al een begin


$content_type = 'nieuwsbericht';
$result1 = pager_query(db_rewrite_sql("SELECT n.nid, n.created FROM {node} n WHERE n.type = '$content_type' AND n.status = 1 ORDER BY n.created ASC"));
while ($node = db_fetch_object($result1)) {
$output .= node_view(node_load(array('nid' => $node->nid)), 1);
}
print $output;

ik zou deze graag iets meer customizen, maw, de lengte van de teaser bepalen en de gebruikte tags veranderen. maar ik vind de juiste bron of methode niet echt..

alvast bedankt voor enige reactie

Auteur: 
30equals
afbeelding van Xano
Door Xano op 14 april, 2008 - 20:10

http://drupal.org/theme-guide

Eens goed doorlezen. Beste advies dat ik je kan geven ;-)

My name is Bart - web & events
iDEAL, OmniKassa, en meer.

Door hansrossel@drup... op 15 april, 2008 - 05:34

Je kunt ook met de views module werken en dan via views theming je variabelen aanpassen of inkorten in de theme.

Groetjes,

Hans
Koba Webdesign

Koba Webdesign

afbeelding van 30equals
Door 30equals op 15 april, 2008 - 09:37

xano: die guide heb ik al wel een paar keer bekeken, maar ik heb toch niet gevonden wat ik zocht. ik ga er nog eens door ;)

hans:ik had het al es met views geprobeerd. een nieuwe view aanmaken 'nieuws_front' en dan laten weergeven in een block.
en met volgende code geprobeerd om die view weer te geven in mijn custom xhtml pagina
de juiste view id had ik in de database opgezocht


<?php
$block = module_invoke('block', 'views' , 'view', 6);
?>
<?php
print $block['subject'];
?>

<?php
print $block['content'];
?>

maar dit werkte niet echt, maw, ik kreeg geen content/body.

Door hansrossel@drup... op 15 april, 2008 - 10:15

Probeer eens via:

<?php
$view = views_get_view('Naamvanjeview');
print views_build_view('embed', $view, array($title), false, 1);
?>

Je view in de pagina te embedden.

Veel succes,
Koba Webdesign

Koba Webdesign

afbeelding van 30equals
Door 30equals op 15 april, 2008 - 17:52

hoi hans

die snippet werkt perfect.

ik heb bijkomend nog de nodeteaser module geinstalleerd omdat de teaser kleiner dan 200 characters moet zijn. en ik niet met de break wou werken.
het enige probleem voorlopig is nu dat in 'teaser view' de custom teaser én de gewone teaser van de body wordt getoont. maar dit zal ook wel te fixen zijn.

bedankt!

afbeelding van 30equals
Door 30equals op 16 april, 2008 - 10:49

even nog een update

ik had dezelfde snippet, met andere var namen, voor een andere div gebruikt.
en het viel me op dat hoewel ik in de views settings de node/page op 3 had staan, er maar 1 node te zien was

met volgende code van de drupal site (kwestie van te weten wat je moet zoeken zeker..)
geeft hij wel 3 nodes weer.


<?php
$view_name = 'MyViewName'; //name of view
$view_args = array();
$view = views_get_view($view_name);
print views_build_view('embed', $view, $view_args, $view->use_pager, $view->nodes_per_page);
?>

misschien dat het van dienst kan zijn.

Door hansrossel@drup... op 16 april, 2008 - 20:46

De laatste parameter in views_build_view is het aantal nodes dat je wil zien, in het voorbeeld dat ik gaf is die 1 wat betekent 1 node onafhankelijk van wat je in de view zelf hebt ingesteld, in het voorbeeld dat je hierboven geeft is die $view->nodes_per_page en volg je dus de settings van de view zelf. Zie ook http://drupal.org/node/99721 voor meer info over de mogelijke parameters.

Hans
Koba Webdesign

Koba Webdesign

afbeelding van Sutharsan
Door Sutharsan op 16 april, 2008 - 11:43

Kijk hier eens: http://drupal.org/project/insert_view

-- Erik

-- Erik

Bookmark and Share

Drupal is een geregistreerd merk van Dries Buytaert. | Powered by Pantheon.

Drupal.be/Drupal.nl is de website van de Nederlandstalige Drupalgemeenschap.