Theme Exposed Filter
am 01.12.2008 - 16:20 Uhr in
Hallo,
bin gerade echt am Verzweifeln. Habe eine view (views2) mit 3 exposed filtern. Diese stehen nebeneinander und ich möchte sie in Spalten anordnen. Aus diesem Grund habe ich wie im Forum schon beschrieben folgenden code in meine template.php eingefügt. Aber ohne Erfolg was ich auch tue in der Ausgabe rührt sich nichts. Hat jemand eine Idee was ich falsch mache?
Danke
lierai09
function phptemplate_views_filters($form) { //this call overrides all views filters so I need a condition
$view = $form['view']['#value'];
if ($view->name == 'mitarbeitersuche'){ //so I used the view's name, in this case the view I want to do refactoring is 'vista'
foreach ($view->exposed_filter as $count => $expose) {
$row[] = drupal_render($form["op$count"]) ;
$box[] = drupal_render($form["filter$count"]);
$label[] = $expose['label'];
}
$row[] = drupal_render($form['submit']);
$label[] = ''; // so the column count is the same.
$title = $view->page_title;
return _phptemplate_callback('views-filters-mitarbeiteranzeige', array('title' => $title, 'row' => $row, 'box' => $box, 'label'=>$label));
}
else{ // in the case it isn't 'vista' it goes through the normal flow as defined in views.module
foreach ($view->exposed_filter as $count => $expose) {
$row[] = drupal_render($form["op$count"]) . drupal_render($form["filter$count"]);
$label[] = $expose['label'];
}
$row[] = drupal_render($form['submit']);
$label[] = ''; // so the column count is the same.
// make the 'q' come first
return drupal_render($form['q']) . theme('table', $label, array($row)) . drupal_render($form);
}
}
Eintrag in: views-filters-mitarbeiteranzeige.tpl.php
<h1>Hallo</h1>
<h3><?php echo $label[1] . ': '; ?></h3>
<p><?php echo $row[1]; ?></p>
- Anmelden oder Registrieren um Kommentare zu schreiben
Der Name der tpl.php muss
am 02.12.2008 - 09:13 Uhr
Der Name der tpl.php muss den Viewnamen tragen, also views-filters-mitarbeitersuche.tpl.php und nicht "mitarbeiteranzeige". Vielleicht liegt's daran.
Den Code benutze ich mit Erfolg in D5, Views 1. Möglicherweise funktioniert der Code nicht für Views 2, aber wie gesagt, der Dateiname ist wichtig. Wenn's dann noch nicht geht, solltest du dich an die Views issue queue wenden.
-------------------------------------------------
I don't know the question but the answer is Views
undpaul
Longevity Insights from Top Health Podcasts
das klappt auch nicht
am 02.12.2008 - 11:03 Uhr
Hallo,
vielen Dank für den Tipp aber das klappt auch nicht. Mmmh das ist echt schade.
Gibt es eventuell noch eine Idee?
Danke
Hast du deinen Code genau
am 02.12.2008 - 11:20 Uhr
Hast du deinen Code genau geprüft? Der Code, der in die template.php kommt, weist mal views-filters-mitarbeiteranzeige auf, mal mitarbeitersuche. Prüf genau und setze deinen View-Namen ein ;-) Es können nicht zwei verschiedene View-Namen im selben Code vorkommen.
Das wäre dann so (ohne php-Tags)
<?php
function phptemplate_views_filters($form) { //this call overrides all views filters so I need a condition
$view = $form['view']['#value'];
if ($view->name == 'mitarbeitersuche'){ //so I used the view's name, in this case the view I want to do refactoring is 'vista'
foreach ($view->exposed_filter as $count => $expose) {
$row[] = drupal_render($form["op$count"]) ;
$box[] = drupal_render($form["filter$count"]);
$label[] = $expose['label'];
}
$row[] = drupal_render($form['submit']);
$label[] = ''; // so the column count is the same.
$title = $view->page_title;
return _phptemplate_callback('views-filters-mitarbeitersuche', array('title' => $title, 'row' => $row, 'box' => $box, 'label'=>$label));
}
else{ // in the case it isn't 'vista' it goes through the normal flow as defined in views.module
foreach ($view->exposed_filter as $count => $expose) {
$row[] = drupal_render($form["op$count"]) . drupal_render($form["filter$count"]);
$label[] = $expose['label'];
}
$row[] = drupal_render($form['submit']);
$label[] = ''; // so the column count is the same.
// make the 'q' come first
return drupal_render($form['q']) . theme('table', $label, array($row)) . drupal_render($form);
}
}
?>
-------------------------------------------------
I don't know the question but the answer is Views
undpaul
Longevity Insights from Top Health Podcasts
ja ich habe
am 02.12.2008 - 12:12 Uhr
ja ich habe die selben namen vergeben. War mir zunächst nicht sicher ob es der view pfad ist. Da habe ich gespielt. Aber auch bei selben Namen funktioniert es nicht.
Gruß
lierai
Ich hab mal ins Modul
am 02.12.2008 - 12:49 Uhr
Ich hab mal ins Modul geschaut. In Views 2 gibt es die function views_filters gar nicht mehr. Dann kannst du dich höchstens durch das Modul wühlen und was eigenes bauen oder in der Views issue queue mal nachsehen bzw. selber einen support request schreiben...
-------------------------------------------------
I don't know the question but the answer is Views
undpaul
Longevity Insights from Top Health Podcasts