node afkappen na maximaal aantal tekens
Door bartcha op 27 maart, 2009 - 10:53
Forums:
Beste mensen,
ik heb door middel van een view een soort van nieuws systeem gemaakt en ik wil dat de content afgekapt wordt naar een bepaald aantal tekens (maximaal 100 fzo)
is hier een makkelijke manier voor (ik gebruik Cusom Content Templates voor de stijl van een nieuws bericht)
Actuele inhoud
09 feb 2012
- , youtube film in website , (Forumonderwerp) , annemie
- , userpoints vraagje , (Forumonderwerp) , jeroenenwendy
08 feb 2012
- , Vacature Webdeveloper , (Forumonderwerp) , JoHo Processen ...
- , node id opslaan in database , (Forumonderwerp) , Noikes , Reacties: 5
07 feb 2012
- , Civi en Drupal installatie gevraagd! , (Forumonderwerp) , Koen van Hees
- , kan niet meer inloggen na verhuizing website , (Forumonderwerp) , meppel001
- , Image slider/banner maken in Dp7 , (Forumonderwerp) , CrazyFly , Reacties: 2
- , migrate van subdir naar main directory , (Forumonderwerp) , Jaap3D
- , Filter criteria , (Forumonderwerp) , Lambert de Groot , Reacties: 2
06 feb 2012
- , Activity map aanmaken , (Forumonderwerp) , Samuël2013
- , Weergave forums beperken tot containers die dan uitklapbaar zijn , (Forumonderwerp) , vdwaetsy
- , - , (Forumonderwerp) , karel3s
- , Tokens weergeven in een node , (Forumonderwerp) , Mindhunter , Reacties: 1
05 feb 2012
- , content type, manage fields, veld tonen naar gelang van item selected , (Forumonderwerp) , LLMM
04 feb 2012
- , stappenplan maken.... , (Forumonderwerp) , Mindhunter
fossie@drupal.org
27 maart, 2009 - 22:29
Permalink
Eerst en vooral, als je views
Eerst en vooral, als je views gebruikt, kan je bij je veld aangeven 'maximum aantal karakters' te nemen (Trim). (view, admin, dan bij de fields, op het veld drukken en onderaan in het detail dit aanduiden).
Wil je in je tpl file dit zelf doen, maak een functie die dit doet, en gebruik deze functie die dan het aantal tekens bepaald.
Ik geloof dat er een drupal functie voor bestaat, maar kan er niet direct opkomen.
Hier een functie, maar deze zal een woord in 't midden afbreken als aantal chars bereikt is. Je kan dit oplossen door bij de afgekapte tekst terug te gaan tot je een spatie hebt en daar de puntjes zetten.
<?php
// kan je in je template.php zetten bv. de mytheme wijzig je dan in je themename
function mytheme_summarise($text, $length = 150) {
$orig = $text;
$text = trim(str_replace(array("\n", "\r"), ' ', strip_tags($text)));
$text = trim(substr($text, 0, $length));
$lastchar = substr($text, -1, 1);
if (preg_match('/[^0-9A-Za-z\!\?]/', $lastchar)) {
$text = substr($text, 0, -1);
}
if ($lastchar != '!' and $lastchar != '?') {
$text .= '...';
}
if (strlen($text) > strlen($orig)) {
return $orig;
} else {
return $text;
}
}
?>
Hopelijk heb je hier wat aan, goe weekend,
Fossie