Skip to Content

Eigene Box im Contentbereich

Auf einer bestimmten Seite (Startseite) soll eine zusätzliche Box mit den neusten Meldungen im Content-Bereich eingeblendet werden. Hier sollen nur die Titel und das Erstellungs- bzw. Änderungsdatum angezeigt werden. Die Meldungen können vom Typ 'story' und von einen Node-Typen stammen. Mit einer Box auf der rechten Seite konnten die gewünschten Ergebnisse nicht erreicht werden. Daher wird bei dem Aufruf der Startseite die hook_nodeapi() "angezapft" und ein eigener Bereich definiert. Dafür wird ein eigenes Modul manipulation.module angelegt. Mit der Funktion manipulation_nodeapi(&$node, $op, $teaser, $page) können dann die Informationen des Node abgefragt werden. Für diese Erweiterung ist nur das Stadium 'alter' interessant. /**
* Erlaubt Inhalte bestimmten Seiten hinzuzufügen
*/
function manipulation_nodeapi(&$node, $op, $teaser, $page)
{
// Änderungen für die Startseite
// Hinzufügen einer BOX mit den neusten Meldungen
if($_GET['q'] == 'node/18' and $op == 'alter')
{
// Angabe welche Nodes gelistet werden sollen
$node_type = 'story';
 
// Die anderen Nodes entfernt
// Anzahl der gelisteten Elemente
$list_no = 10;
 
// Select aus Node
$sql = 'SELECT node.title, node.type, node.nid, node.changed FROM {node} AS node WHERE node.type = "'.$node_type.'" node.promote = 1 ORDER BY node.changed DESC LIMIT '.$list_no.'';
 
// Inhalte als Liste erstellen
// Weitere Formatierungen in manipulation.css
$inhalt .= '<ul>';
$result = db_query($sql);
 
while ($anode = db_fetch_object($result))
{
$inhalt .= '<li>'.l($anode->title, 'node/'.$anode->nid).'
'.format_date($anode -> changed, 'small').'</li>';
}
 
$inhalt .= '</ul>';


// Die Box als erstes einfügen
// Weitere Formatierungen in manipulation.css
$node -> body = '<div class="frontpage_box" ><b>Die letzten Meldungen:</b>'.$inhalt.'</div>'.$node -> body;
 
// Hinzufügen eines eigenen CSS-Designs
drupal_add_css('sites/all/modules/manipulation/manipulation.css', 'theme', 'screen', TRUE);
}
//
} // END manipulation_nodeapi()
Mit if($_GET['q'] == 'node/18' and $op == 'alter') wird ein bestimmter Node abgefangen. Das funktioniert auch mit aktiviertem Clean-URL. In der Query wird bei den Nodes der Status abgefragt und zusätzlich, mit node.promote = 1 , ob der Eintrag auf der Startseite angezeigt werden soll. Dann werden die Ergebnisse aus der Datenbanktabelle {node} geholt. Die Ergebnisse werden gleich als Objekt ausgelesen und in einen Link umgewandlt. Um das Datum mit den lokalen Einstellungen auszugeben wird die Drupal-Funktion format_date($timestamp, $type = 'medium', $format = '', $timezone = NULL) verwendet. Schließlich werden die gesammelten Inhalte vor den eigentlichen Seiteninhalt gestellt. Die eigenen Inhalte werden dabei in einem eigenen DIV-Container (<div class="frontpage_box"> ) verpackt und anschließend mit einer eigenen CSS-Datei formatiert. Die CSS-Datei ist recht einfach gehalten:   .frontpage_box
{
width:250px;
float:right;
padding-left:10px;
padding-bottom:10px;
}
 
.frontpage_box li
{
list-style-type:none;
list-style-position:outside;
margin-left: -2.5em;
}

Damit wird die DIV-Box an den rechten Bereich des Content-Bereichs geschoben, eine Breite und ein Abstand unten und links definiert. Der Text der Seite umfließt den erstellten Container.

Kommentare

same day loans

tkgtoki same day loans tIvmL payday loans 1176 car insurance 1674 payday loans CHPKEX

no fax pay day loan

manxxx

ctrybvg manxxx 8]]] priligy_dapoxetine 3066 lamisil 4405 baycip 0278 levitra EkwrCI

stop smoking

hsdqmxz stop smoking 2538 cialis 7512 cialis 5092 viagra VksAg buy cialis online >:-[

Quick Quid

fast payday loan

online payday

viagra

imaopt viagra 5384 cheap cialis 2924 viagra 8]]] cheap cialis :-O cialis AXrlF natural viagra 0466

payday advances

cialis

ekjcja cialis dwJPvm generic cialis 3279 cialis %-[[[ viagra MgZNr cheap viagra online 7602 viagra 100 mg pChcli

cash advance

ngsbuuu cash advance 0503 Payday Loans PzSsQk cash advance kurdv Payday Loans hChARe

viagra

cfbcqnm viagra JSMbv kamagra 7320 cialis WVdOtS buy viagra 3958

cheap cialis

cxeybq cheap cialis YurwK cheap generic cialis zpwOP viagra GnHiBc order viagra >:-[

payday loans

payday loan

xfaemvxe payday loan 7512 payday loan doENwP payday loans 5052

viagra

jqpjtgj viagra 6339 levitra Generique 8136 viagra 8]]] viagra bestellen ugVfXv viagra preço >:]]

viagra

yhvjuodh viagra 9878 viagra gebruiksaanwijzing %-[[[ propecia %-[[[ viagra 6457 viagra %-[[[ Cialis 3126