Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

Suchblock anpassen

Eingetragen von Julsen (178)
am 12.01.2012 - 10:50 Uhr in
  • Themes & Theming
  • Drupal 7.x

Guten Tag zusammen,

bin noch recht neu bei Drupal (gestern erst mit angefangen). Habe wie gewohnt ein Template zusammengesetzt und wollte es nun in die Struktur von Drupal bringen. Bin allerdings das Templaten bei Typo3 und XTC gewöhnt. Versuche meistens eine möglichst saubere Struktur umzusetzen und unnötige divs und andere Elemente zu vermeiden.

So habe ich für die Suchfunktion

       <div id="search">
         <form id="form1" name="form1" method="post" action="">
           <input type="text" name="textfield" value="Suchen..." id="textfield" />
           <input type="image" src="images/magnifier.jpg"  />
          </form>
        </div>

vorgesehen und auch dementsprechend per CSS formatiert.

Drupal allerdings baut mir massenhaft divs mit ein, die ich eigentlich nicht brauche und auch nicht haben möchte.

<div class="content">
<form action="" method="post" id="search-block-form" accept-charset="UTF-8"><div>
<div id="search">
<div class="form-item form-type-textfield form-item-search-block-form">
<input onblur="if (this.value == &#039;&#039;) {this.value = &#039;Suche&#039;;}" onfocus="if (this.value == &#039;Suche&#039;) {this.value = &#039;&#039;;}" type="text" id="edit-search-block-form--2" name="search_block_form" value="Suche" size="15" maxlength="128" class="form-text" />
</div>
<div class="form-actions form-wrapper" id="edit-actions"><input type="image" id="edit-submit" name="submit" src="/images/magnifier.jpg" class="form-submit" /></div><input type="hidden" name="form_build_id" value="" />
<input type="hidden" name="form_token" value="" />
<input type="hidden" name="form_id" value="search_block_form" />
</div></div></form>  </div>
</div>
  </div>

Habe in der template.php folgendes:

function themename_form_alter(&$form, &$form_state, $form_id) {
  if ($form_id == 'search_block_form') {
 
    unset($form['search_block_form']['#title']);

    $form['search_block_form']['#title_display'] = 'invisible';
$form_default = t('Search');
    $form['search_block_form']['#default_value'] = $form_default;
    $form['actions']['submit'] = array('#type' => 'image_button', '#src' => base_path() . path_to_theme() . '/images/magnifier.jpg');

$form['search_block_form']['#attributes'] = array('onblur' => "if (this.value == '') {this.value = '{$form_default}';}", 'onfocus' => "if (this.value == '{$form_default}') {this.value = '';}" );
  }
}

Zusätzlich habe ich auch noch die Datei search-block-form.tpl.php mit folgendem Inhalt angelegt:

    <?php if (empty($variables['form']['#block']->subject)) : ?>
    <?php endif; ?>
    <?php print $search_form; ?>

Hätte da zufällig wer einen Rat für mich, wie ich einen saubereren Code bekomme, ohne im Core was zu ändern?

Beste Grüße
Julsen

‹ Weiterlesen... wie anpassen? Verbindung von View und Block ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Moin Moin, ich bin mir gerade

Eingetragen von Leagis (37)
am 12.01.2012 - 11:45 Uhr

Moin Moin,

ich bin mir gerade nicht ganz so sicher, was du eigentlich genau brauchst, bzw. was du genau verändern willst/musst.

MfG Leagis

  • Anmelden oder Registrieren um Kommentare zu schreiben

Moin, also ich möchte

Eingetragen von Julsen (178)
am 12.01.2012 - 12:04 Uhr

Moin,

also ich möchte eigentlich nur die Suche anpassen. Meiner Meinung nach ist bei der aktuellen Suche zu viel overhead mit drinnen. Ich möchte das Formular der Suche nur in einem div haben und nicht in mehreren verschachtelt.
Ist in Typo3 irgendwie alles viel einfacher, übersichtlicher und verständlicher.

Beste Grüße
Julsen

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du hast die Möglichkeit, es

Eingetragen von Leagis (37)
am 12.01.2012 - 12:44 Uhr

Du hast die Möglichkeit, es mit den Feldern zu machen.

<div class="search_text">
<?php print $search['search_block_form']; ?>
</div>
<div class="search_symbol">
<?php print $search['actions']; ?>
</div>

<?php print $search['hidden'] ?>

So sieht es z.B. bei mir aus.
So habe ich nur noch den vom System gegebenen Suchblock-Div

  • Anmelden oder Registrieren um Kommentare zu schreiben

Kann man nicht irgendwie die

Eingetragen von Julsen (178)
am 12.01.2012 - 13:14 Uhr

Kann man nicht irgendwie die vom System gegebenen Suchblock-Divs überschreiben oder deaktivieren? Und irgendwie sehe ich bei mir die Suchbox dann auch nur wenn ich eingeloggt bin, obwohl diese bei den Blockeinstellungen auf sichtbar stehen

  • Anmelden oder Registrieren um Kommentare zu schreiben

Suchblock

Eingetragen von Patrick Schanen (515)
am 12.01.2012 - 13:45 Uhr

dann muss du die Rechte eben mal schnell anpassen.

Verstehe ich nicht du willst Drupal schon anpassen, und kennst nicht mal die normalste Einstellung. Befasse dich ein wenig mit dem was Drupal bittet, und wenn du das alles kannst, kannst du dich mit unötigen Div's beschäftigen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Meiner Meinung nach stehen

Eingetragen von Julsen (178)
am 12.01.2012 - 14:03 Uhr

Meiner Meinung nach stehen die Rechte für alle auf sichtbar? Habe jedenfalls nirgendwo sonst was zum Einstellen der Suchbox gefunden.

Unter /admin/people/permissions konnte ichs aber auch noch mal einstellen. Schade das es bei dem ersten keinen Override gibt.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Suchblock Sichtbarkeit

Eingetragen von Patrick Schanen (515)
am 12.01.2012 - 14:07 Uhr

/admin/people/permissions/list

dev ver. online www.veiner-photoclub.lu

AnhangGröße
dev_02.www_.veiner-photoclub.lu 2012-1-12 14:2:34.png 14.64 KB
  • Anmelden oder Registrieren um Kommentare zu schreiben

Danke, hatte auf nen Override

Eingetragen von Julsen (178)
am 12.01.2012 - 14:42 Uhr

Danke, hatte auf nen Override gehofft.

Jetzt noch mal zu dem DIV Problem.

Mit

<?PHP print($search['hidden']); ?>
<?php print $search['search_block_form']; ?>
<?PHP print($search['actions']); ?>

kann ich ja im "search-block-form.tpl.php" die Suche auf das Minimum beschränken. Sieht dann wie folgt aus:

<form action="" method="post" id="search-block-form" accept-charset="UTF-8">
  <div>
    <input type="hidden" name="form_build_id" value="form" />
    <input type="hidden" name="form_id" value="search_block_form" />
    <div class="form-item form-type-textfield form-item-search-block-form">
      <label class="element-invisible" for="edit-search-block-form--2">Suche </label>
     <input title="Geben Sie die Begriffe ein, nach denen Sie suchen." type="text" id="edit-search-block-form--2" name="search_block_form" value="" size="15" maxlength="128" class="form-text" />
    </div>
    <div class="form-actions form-wrapper" id="edit-actions">
      <input type="submit" id="edit-submit" name="op" value="Suche" class="form-submit" />
    </div>
  </div>
</form>

Jetzt möchte ich allerdings die 3 DIVS entfernen, sodass nurnoch

<form action="" method="post" id="search-block-form" accept-charset="UTF-8">
  <input type="hidden" name="form_build_id" value="form" />
  <input type="hidden" name="form_id" value="search_block_form" />
  <label class="element-invisible" for="edit-search-block-form--2">Suche </label>
  <input title="Geben Sie die Begriffe ein, nach denen Sie suchen." type="text" id="edit-search-block-form--2" name="search_block_form" value="" size="15" maxlength="128" class="form-text" />
   <input type="submit" id="edit-submit" name="op" value="Suche" class="form-submit" />
</form>

über bleibt. Per template.php kann ich ja die Funktionen zusätzlich umschreiben, z.B. aus dem submit type ein image_button machen ($form['actions']['submit'] = array('#type' => 'image_button', '#src' => base_path() . path_to_theme() . '/images/magnifier.jpg');) oder eben in anderen tpl Dateien abändern. Nur leider finde ich keinen Befehl für die DIVS und auch nicht die tpl Datei, wo ich die DIVS entfernen kann.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 4 Tagen
  • Hey danke
    vor 1 Woche 5 Tagen
  • Update: jetzt gibt's ein
    vor 1 Woche 6 Tagen
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 3 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 3 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 1 Tag
  • In der entsprechenden View
    vor 3 Wochen 1 Tag
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 1 Tag
  • gelöst
    vor 5 Wochen 4 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 5 Wochen 5 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20451

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 12 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association