Views ->Theme Wizard
Eingetragen von FlorianAGAI (168)
am 26.05.2007 - 14:44 Uhr in
am 26.05.2007 - 14:44 Uhr in
Hallo!
Ich habe mal wieder ein Problem ^^.
Ich habe mir ein neues "view" erstellt. Mit dem Theme Wizard kann ich mir ja alle Felder Variablen und auch die CSS klassen ausgeben lassen das ich am Ende 3 neue Dateinen habe.
1. new_view.tpl.php
2. template.php
3. new_view.css
Die template.php ist mir neu da ich in meinem theme nur eine
page.tpl.php, node.tpl.php und block.tpl.php habe. Und natürlich eine style.css
Wenn ich jetzt die 3 neuen Dateien in meinen Themeordner lade bekomme ich nur komische php Fehler. Hat jemand eine Ahnung wie man mit dem theme wizard umgehen muss?
Gruß Flo
- Anmelden oder Registrieren um Kommentare zu schreiben
Template
am 26.05.2007 - 18:57 Uhr
Du musst die template.php so wie der View theme wizard sie dir vorschlägt in deinem Theme Verzeichnis erzeugen. Also neu anlegen und dann den Code des Wizards dort einfügen.
vg
--
md - DrupalCenter
Erst suchen dann fragen
mdwp
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
Danke erstmal...
am 26.05.2007 - 19:36 Uhr
aber ich hoffe ich habe das richtig verstanden...
Also naürlich habe ich die
new_view.tpl.php
template.php
new_view.css
mit dem Inhalt des theme wizards gefüllt und in meinen theme Ordner kopiert.
Leider bekomme ich dann wie gesagt die Fehlermeldungen :(
Habe ich das richtig gemacht oder muss die template.php auf anderem Wege "erzeugt" werden?
Der Code aus dem wizard sieht allerdings ziemlich merkwürdig aus:
/** * views template to output a view. * This code was generated by the views theming wizard * Date: 26 May, 2007 - 14:07 * View: userlist_students * * This function goes in your template.php file */ function phptemplate_views_view_list_userlist_students($view, $nodes, $type) { $fields = _views_get_fields(); $taken = array(); // Set up the fields in nicely named chunks. foreach ($view->field as $id => $field) { $field_name = $field['field']; if (isset($taken[$field_name])) { $field_name = $field['queryname']; } $taken[$field_name] = true; $field_names[$id] = $field_name; } // Set up some variables that won't change. $base_vars = array( 'view' => $view, 'view_type' => $type, ); foreach ($nodes as $i => $node) { $vars = $base_vars; $vars['node'] = $node; $vars['count'] = $i; $vars['stripe'] = $i % 2 ? 'even' : 'odd'; foreach ($view->field as $id => $field) { $name = $field_names[$id]; $vars[$name] = views_theme_field('views_handle_field', $field['queryname'], $fields, $field, $node, $view); if (isset($field['label'])) { $vars[$name . '_label'] = $field['label']; } } $items[] = _phptemplate_callback('views-list-userlist_students', $vars); } if ($items) { return theme('item_list', $items); } }
kann es an der Formatierung liegen?
"The final answer is 1337"
Bild dazu
am 26.05.2007 - 19:43 Uhr
So sieht das ganze dann aus:
http://www.3rdesign.de/pictures/Bild.png
"The final answer is 1337"
Template
am 26.05.2007 - 20:03 Uhr
Fängt deine template.php denn auch mit
<?php
an?vg
--
md - DrupalCenter
Erst suchen dann fragen
mdwp
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
Nein tut sie nicht
am 26.05.2007 - 20:26 Uhr
Wie sollte es denn ausehen mit dem Code aus dem Theme Wizard?
Hier:
/** * views template to output a view. * This code was generated by the views theming wizard * Date: 26 May, 2007 - 14:07 * View: userlist_students * * This function goes in your template.php file */ function phptemplate_views_view_list_userlist_students($view, $nodes, $type) { $fields = _views_get_fields(); $taken = array(); // Set up the fields in nicely named chunks. foreach ($view->field as $id => $field) { $field_name = $field['field']; if (isset($taken[$field_name])) { $field_name = $field['queryname']; } $taken[$field_name] = true; $field_names[$id] = $field_name; } // Set up some variables that won't change. $base_vars = array( 'view' => $view, 'view_type' => $type, ); foreach ($nodes as $i => $node) { $vars = $base_vars; $vars['node'] = $node; $vars['count'] = $i; $vars['stripe'] = $i % 2 ? 'even' : 'odd'; foreach ($view->field as $id => $field) { $name = $field_names[$id]; $vars[$name] = views_theme_field('views_handle_field', $field['queryname'], $fields, $field, $node, $view); if (isset($field['label'])) { $vars[$name . '_label'] = $field['label']; } } $items[] = _phptemplate_callback('views-list-userlist_students', $vars); } if ($items) { return theme('item_list', $items); } }
"The final answer is 1337"
bei den php dateien <?php
am 26.05.2007 - 21:07 Uhr
bei den php dateien
<?php
voranstellenund
?>
am Schluss anhängenVielen dank ich
am 26.05.2007 - 21:42 Uhr
Probier das morgen aus ich hoffe das klappt ^^
"The final answer is 1337"
Re: bei den php dateien
am 27.05.2007 - 10:51 Uhr
bei den php dateien
<?php
voranstellenund
?>
am Schluss anhängenBei der template.php eben am Schluss nicht
?>
anhängen.Sonst hätte ich es in meinem Post schon geschrieben.
vg
--
md - drupalcenter
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
Hm okay
am 27.05.2007 - 15:15 Uhr
Parse error: syntax error, unexpected $end in /home/xxx/xxxx/drupal5/themes/AGAI4_Fluid/template.php on line 4
Hm das scheint nicht zu funktionieren :(
So sieht es aus :
/** * views template to output a view. * This code was generated by the views theming wizard * Date: 26 May, 2007 -
14:07 * View: userlist_students * * This function goes in your template.php file */
<?php function phptemplate_views_view_list_userlist_students($view, $nodes, $type) { $fields = _views_get_fields();
$taken = array(); // Set up the fields in nicely named chunks. foreach ($view->field as $id => $field) { $field_name
= $field['field']; if (isset($taken[$field_name])) { $field_name = $field['queryname']; } $taken[$field_name] =
true; $field_names[$id] = $field_name; } // Set up some variables that won't change. $base_vars = array( 'view' =>
$view, 'view_type' => $type, ); foreach ($nodes as $i => $node) { $vars = $base_vars; $vars['node'] = $node;
$vars['count'] = $i; $vars['stripe'] = $i % 2 ? 'even' : 'odd'; foreach ($view->field as $id => $field) { $name =
$field_names[$id]; $vars[$name] = views_theme_field('views_handle_field', $field['queryname'], $fields, $field,
$node, $view); if (isset($field['label'])) { $vars[$name . '_label'] = $field['label']; } } $items[] =
_phptemplate_callback('views-list-userlist_students', $vars); } if ($items) { return theme('item_list', $items); } }
"The final answer is 1337"
Danke AN ALLE!!
am 27.05.2007 - 15:29 Uhr
function phptemplate_views_view_list_userlist_students($view, $nodes, $type) { $fields = _views_get_fields(); $taken
= array();
foreach ($view->field as $id => $field) { $field_name = $field['field'];
if (isset($taken[$field_name]))
{ $field_name = $field['queryname']; }
$taken[$field_name] = true; $field_names[$id] = $field_name; }
$base_vars = array( 'view' => $view, 'view_type' => $type, );
foreach ($nodes as $i => $node) { $vars = $base_vars; $vars['node'] = $node; $vars['count'] = $i; $vars['stripe'] =
$i % 2 ? 'even' : 'odd'; foreach ($view->field as $id => $field)
{ $name = $field_names[$id]; $vars[$name] = views_theme_field('views_handle_field', $field['queryname'], $fields,
$field, $node, $view); if (isset($field['label'])) { $vars[$name . '_label'] = $field['label']; } } $items[] =
_phptemplate_callback('views-list-userlist_students', $vars); } if ($items) { return theme('item_list', $items); } }
So funktioniert es!
Also nochmal an ALLE ANDEREN die es interessiert:
Ich möchte eine bestimmte Art von VIEW haben. Also zum Beispiel: Eine Liste von Studenten Professoren und Diplomanden.
Ich installiere das Views-Modul und das CKK Modul. Mit dem CCK Modul "bastele" ich mit einen Contentype, den ich mit dem Views Modul dann "Filtern und Ordnen" kann. Der im VIEWS Modul implementierte Theme Wizard liefert mit dann den Code für
1. new_view.tpl.php
2. template.php
3. new_view.css
Wenn ihr den Code einfügt ( Ihr müsst die Kommentare aus dem template.php entfernen und ein "php" als prefix einsetzten )und alle 3 Dateien in euren theme Ordner speichert..könnt ihr nach BELIEBEN JEDEN contentype stylen mit css oder Java-Script.
Drupal Rocks.
Gruß, der Flo
"The final answer is 1337"
Ein Problem gibt es noch:
am 27.05.2007 - 15:57 Uhr
Also funktionieren tut das schon mit dem Theme....ABER
wenn ich jetzt ein Book editieren will und auf submit klicke bekomme ich folgenden Fehler:
warning: Cannot modify header information - headers already sent by (output started at /home/xxx/xxxxx/drupal5/themes/AGAI4_Fluid/template.php:2) in
/home/xxx/xxxxx/drupal5/includes/common.inc on line 311.
WFT is that???
"The final answer is 1337"
Leerzeichen
am 27.05.2007 - 17:02 Uhr
Wahrscheinlich fängt deine template.php jetzt mit irgendwelchen Leereichen an.
Entferne alles vor dem
<?php
Afak muss man die Kommentare aus der template.php nicht entfernen. Hab ich jedenfalls noch nie gemacht.
vg
--
md - DrupalCenter
Erst suchen dann fragen
mdwp
vg
md - DrupalCenter.de
mdwp* Drupal Consulting & Services
Danke
am 27.05.2007 - 18:11 Uhr
ich teste mal. Ich geb euch Feedback ASAP.
"The final answer is 1337"
views und ckk
am 17.07.2007 - 11:56 Uhr
Hallo,
kannst Du bitte noch mal genau schreiben, wie Du den mit CKK gebastelten Contenttype mit dem viewsmodul bearbeitest. Wenn ich mit CKK einen neuen Typ erstelle, wird der im Viewsmodul nicht angezeigt. Über export und import geht auch nix.
Grüße
Georg
Also
am 18.07.2007 - 18:44 Uhr
Hey georgs,
also ich habe einen neuen Content-type erstellt. Zum beispiel "neu".
Du fügst deine Felder hinzu am besten alle die du brauchst ( das ist später wichtig ).
Wenn du dir sicher bist das du den content type so haben möchtest. Gehst du zu Administer ->
Views. Dort kannst du dann auf "Theme Wizard" klicken. Du findest dan in dem Drop-Down Menü unter anderem den typen "neu". Dann kannst du noch deinen Theme-Typen wählen und du bekommst den "Quelltext" für deinen View, danach machst du es wie ich es oben beschrieben habe.
Gruß Flo
"The final answer is 1337"