views filterblock feldgruppen ansicht entfernen [code vorhanden - nur änderung benötig]
Eingetragen von Mystify (232)
am 04.03.2008 - 15:56 Uhr in
am 04.03.2008 - 15:56 Uhr in
hi,
ich habe mir eine mit views fastsearch eine suche erstellt und diese mit hilfe von filterblock in einen block gelegt.
wie kann ich nun das design des ganzen verändern, weil standardmäßig wir ja jedes feld in eine einen feldgruppe gepackt:
http://img175.imageshack.us/img175/2746/suchemo7.jpg
so soll es aussehen:
http://img142.imageshack.us/img142/5264/suche2zj7.jpg
wäre echt cool, wenn jemand einen tipp oder lösungsansatz hätte.
viele dank
- Anmelden oder Registrieren um Kommentare zu schreiben
code
am 15.03.2008 - 11:44 Uhr
kann keiner helfen...ist wirklich sehr dringend.
hab jetzt schonmal den code für die views_filterblock.tpl.php gefunden.
wie muss man die denn jetzt abändern, damit es keine feldgruppen mehr gibt?
<?php
/* $Id: views_filterblock.tpl.php, v 1.0 2007/09/17 quiptime Exp $ */
drupal_add_js('misc/collapse.js');
$view = $form['view']['#value'];
// make the 'q' come first
$output = drupal_render($form['q']);
foreach ($view->exposed_filter as $count => $filter) {
$newform["fieldset$count"] = array(
'#type' => 'fieldset',
'#title' => $filter['label'],
'#collapsible' => true,
'#weight' => $count - 1000, // we'll never have this many filters
);
$newform["fieldset$count"]['#collapsed'] = TRUE;
}
foreach ($form as $field => $value) {
if (preg_match('/(op|filter)([0-9]+)/', $field, $match)) {
$curcount = $match[2];
$newform["fieldset$curcount"][$field] = $value;
if (!isset($newform["fieldset$curcount"]['#weight'])) {
$newform["fieldset$curcount"]['#weight'] = $value['#weight'];
}
}
else {
if ($field == 'submit' || drupal_substr($field, 0, 1) == '#') {
unset($curcount);
}
if (isset($curcount)) {
$newform["fieldset$curcount"][$field] = $value;
}
else {
$newform[$field] = $value;
}
}
}
foreach ($view->exposed_filter as $count => $filter) {
if ($filter['is_default']) {
$newform["fieldset$count"]['#collapsed'] = FALSE;
$open = TRUE;
}
else {
$value = $newform["fieldset$count"]["filter$count"]['#default_value'];
if (isset($value)) {
if (is_array($value)) {
foreach ($value as $key => $item) {
if ($item != '') {
$newform["fieldset$count"]['#collapsed'] = FALSE;
$open = TRUE;
}
}
}
elseif ($value != '') {
$newform["fieldset$count"]['#collapsed'] = FALSE;
$open = TRUE;
}
}
}
}
if (!$open) {
$newform["fieldset0"]['#collapsed'] = TRUE; // first fieldset, make this TRUE or FALSE
}
// make any fieldset TRUE or FALSE
//$newform["fieldset2"]['#collapsed'] = FALSE;
print theme('views_filterblock_output', $newform);
?>
danke.
Views themen
am 15.03.2008 - 13:53 Uhr
Was willst Du?
Die Feldgruppen ersatzlos eliminieren oder sie mit einem div ersetzen? Ersteres wurde ich selbst nicht tun, denn dann "flattern" die einzelnen Formelemente frei im Block rum und daraus ergeben sich Probleme bei ihrer Anordnung.
Welche Suche verwendest Du? Die normale oder Fastsearch?
Eventuell hast Du Dir die falsche Themefunktion vorgenommen.
Da Du die Suche mit Views erzeugst kannst Du fuer diesen View ein Template erstellen. Letztenendes ist es dem View egal ob seine Suche mit den eposed Filters in einem Block ode auf einer Seite angezeigt werden.
Mit dem Views Theme Wizard kannst Du Dir den Code fuer ein Template fuer diese Suche erzeugen.
Beispielcode einer Viewssuche und einem Template auf diese Suche (vom Views Theme Wizard erzeugt). Code bereits zur Ausgabe modifieziert. Mit dieser Modifizierung erkennt man aber wie man auf die Ausgabe der einzelnen Formelemente Einfluss nehmen kann.
<?php
/**
* views template to output one 'row' of a view.
* This code was generated by the views theming wizard
* Date: 7 Oktober, 2007 - 09:07
* View: fastsearch
*
* Variables available:
* $view -- the entire view object. Important parts of this object are
* fastsearch, .
* $view_type -- The type of the view. Probably 'page' or 'block' but could
* also be 'embed' or other string passed in from a custom view creator.
* $node -- the raw data. This is not a real node object, but will contain
* the nid as well as other support fields that might be necessary.
* $count -- the current row in the view (not TOTAL but for this page) starting
* from 0.
* $stripe -- 'odd' or 'even', alternating. * $name -- This will display all taxonomy terms associated with the node. Note that this causes one extra query per row displayed, and might have a minor performance impact.
* $name_label -- The assigned label for $name
* $title -- Titel der Node anzeigen.
* $title_label -- The assigned label for $title
* $city --
* $city_label -- The assigned label for $city
*
* This function goes in your views-list-fastsearch.tpl.php file
*/
//now we add the stylesheet...
drupal_add_css(path_to_theme() .'/views-list-fastsearch.css');
?>
<!--
<div class="view-label view-field-name">
<?php //print $name_label; ?>
</div>
-->
<div class="view-field view-data-name">
<?php print $name; ?>
</div>
<div class="view-label view-field-title">
<?php print $title_label; ?>
</div>
<div class="view-field view-data-title">
<?php print $title; ?>
</div>
<div class="view-label view-field-city">
<?php print $city_label; ?>
</div>
<div class="view-field view-data-city">
<?php print $city; ?>
</div>
Den Code habe ich nur so auf die Schnelle rausgesucht.
Hoffe ich konnte Dir einen Loesungsansatz geben.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.