Von der Liste zur detailansicht
am 15.05.2014 - 23:55 Uhr in
Ich habe eine Liste mit Events welche in der zukunft liegen. da ich jedoch nicht alles auflisten kann wegen platzgründen, habe ich mir gedacht kann ich die details doch in einer detailansicht gestalten.
dabei habe ich mir vorgestellt eine neue seite aufzurufen oder in der lightbox zu erstellen.
nun wie mache ich vorerst mal einen neuen seiten aufruf. kann ich das über einen onclick event und ajax lösen oder wie kann man das am einfachsten lösen.
mein bisheriger code aus dem arc_events.module file
<?php
/**
* hook_permission
* Set the permissions to the diffrent menus
*/
// $Id$
function arc_events_permission(){
return array(
'access arc_events submissions' => array(
'title' => t('Access arc_events submissions'),
'description' => t('Access arc_events submissions'),
),
);
}
/**
* hook_menu
* creats the menus
*/
function arc_events_menu(){
// implement the variables
$items = array();
// creats a new menu entry in the main menu to creat a new event
$items['admin/arc_events'] = array(
'title' => 'ARC EVENTS',
'description' => t('Eintragen, auslesen und bearbeiten der ARC-EVENTS'),
'type' => MENU_NORMAL_ITEM,
'page callback' => 'drupal_get_form',
'page arguments' => array('arc_events_admin_settings'),
'access arguments' => array('administer site configuration'),
'file' => 'arc_events.admin.inc'
);
// creats the url and the view for the uppcoming events
$items['arc_events'] = array(
'title' => t('EVENTS'),
'type' => MENU_NORMAL_ITEM,
'page callback' => 'arc_events_view',
'access arguments' => array('access arc_events submissions'),
);
return $items;
}
/**
* Function to show the events in list
* The Upcoming event is the first
* Events in the past aren't listed anymore
*/
function arc_events_view(){
// implement the variables
$header = array(t('Beschreibung'), t('Datum'), t('Besammlung'));
$rows = array();
// DB query
$query = db_select('arc_event_event','e')
->fields('e')
->condition('eve_date', date('Y-m-d'), '>')
->orderBy('e.eve_date')
->execute();
// loop the items for the table
foreach($query as $result){
$rows[] = array(
$result->eve_description,
$result->eve_date,
$result->eve_rally,
);
}
// returning the table
return theme('table', array('header' => $header, 'rows' => $rows));
}
?>- Anmelden oder Registrieren um Kommentare zu schreiben

Gibt es einen bestimmten
am 16.05.2014 - 07:43 Uhr
Gibt es einen bestimmten Grund, der sich mir grad nicht erschließt, dass Du das Ganze NICHT über einen neuen Inhaltstyp sowie Views löst?
Views bringt doch eigentlich alles mit, was man braucht, um eine solche Liste darzustellen, und z.B. mit dem Modul Colorbox lässt sich da auch eine Lightbox drauf aufsetzen.
Hallo,der Grund dürfte wohl
am 16.05.2014 - 09:29 Uhr
Hallo,
der Grund dürfte wohl daran liegen, dass er ein eigenes/vorgegebenes
Datenmodel hat.
Daher macht er den Select auch aus einer anderen Datenbank(arc_event_event) und das geht schlecht mit Views.
loony:
1. Würde ich Drupals Pagination dafür verwenden
$query = db_select('node', 'n')->condition('type', 'article')
->fields('n')
->extend('PagerDefault')
->limit(30);
Ausgabe:
$output .= theme('pager', array('tags' => array()));2. Die Detail Ansicht kannst Du mit CSS einfach ausblenden
$('#deineid').hide();und per Klick wieder anzeigenonclick="$('#deineid').show();"Das sollte keine Sache sein ;-)
MfG
Robert