Ergebnis 1 bis 22 von 22

Thema: Suchmaschine Modul mit "Wert" vorbelegen?

  1. #1
    Contao-Fan
    Registriert seit
    26.01.2010.
    Ort
    Salzburg
    Beiträge
    368

    Standard Suchmaschine Modul mit "Wert" vorbelegen?

    Hi,
    ich habe das normale Suchmaschinen Modul eingebunden und würde ganz gerne in das Textfeld als default "Suchen" reinschreiben, was beim reintippen dann durch den eingegebenen Suchbegriff ersetzt wird. Im normalen Formular geht das ja mit cleardefault wunderbar. In der Suchmaschine finde ich aber nichts für den Standardwert.

    Weiß jemand abhilfe?

    Danke

  2. #2
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du könntest das mit dem "placeholder"-Attribut machen. Dazu müsstest Du die entsprechenden Templates "mod_search_advanced.html5" bzw. "mod_search_simple.html5" anpassen und dort dieses Attribut im <input>-Element ergänzen.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  3. #3
    Contao-Fan
    Registriert seit
    26.01.2010.
    Ort
    Salzburg
    Beiträge
    368

    Standard Super!

    Hat prima geklappt!

  4. #4
    Contao-Nutzer
    Registriert seit
    03.05.2010.
    Ort
    Arneburg
    Beiträge
    55

    Standard

    kann ich auch ein Neues eigenes Templates z.B. "mod_search_eigene.html5" anlegen? update Sicherheit !!!
    wenn ja
    wo speichere ich es (sicher im template Ordner) oder? und welchen Namen muss ich verwenden damit es auch gefunden wird.

  5. #5
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Du könntest über das Backend-Modul "Templates" das gewünschte Modultemplate duplizieren (die Template-Kopie wird im Contao templates-Ordner abgelegt) und in dieser Kopie dann die erforderlichen Änderungen vornehmen. Den Namen des Templates darfst Du dabei aber nicht ändern. So wäre das dann auch updatesicher.

    Weitere Modultemplates (Views) sind hierfür aber keine vorgesehen. Lediglich das Subtemplate (Partial) könnte über "search_*.*" dupliziert und entsprechend angepasst werden.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  6. #6
    Contao-Nutzer Avatar von chinagirl
    Registriert seit
    30.08.2011.
    Ort
    Wien
    Beiträge
    83

    Standard

    hallo macbee, hallo xchs,

    ich habe das gleiche problem, wie macbee hatte. möchte das suchformular mit einen wert belegen.
    ich habe das template "mod_search_simple.xhtml" mit dem attribut placeholer angepasst.
    leider hat es bei mir nicht funktioniert. ich glaube, dass ich im code etwas falsch geschrieben habe.

    die fett geschriebene zeile habe ich dazugefügt:

    <form action="<?php echo $this->action; ?>" method="get">
    <div class="formbody">
    <?php if ($this->id): ?>
    <input type="hidden" name="id" value="<?php echo $this->id; ?>" />
    <?php endif; ?>
    <label for="ctrl_keywords_<?php echo $this->uniqueId; ?>" class="invisible"><?php echo $this->keywordLabel; ?></label>
    <input type="text" name="keywords" id="ctrl_keywords_<?php echo $this->uniqueId; ?>" class="text" value="<?php echo $this->keyword; ?>" />
    <input type="submit" id="ctrl_submit_<?php echo $this->uniqueId; ?>" class="submit" value="<?php echo $this->search; ?>"/>
    <input id="ctrl_submit_<?php echo $this->uniqueId; ?>" class="text" type="text" placeholder="suchen ..." style="" value="" name="search" />
    </div>
    </form>

    was ist falsch?
    macbee kannst du mir vielleicht dein template schicken?
    wäre super wenn ihr mir helfen könntet !!!

    lieben gruß,
    chinagirl

  7. #7
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Welches Ausgabeformat verwendest Du denn in Deinem Seitenlayout? Das "placeholder"-Attribut ist ein HTML5-Attribut und funktioniert daher nur in "*.html5" Templates.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  8. #8
    Contao-Nutzer Avatar von chinagirl
    Registriert seit
    30.08.2011.
    Ort
    Wien
    Beiträge
    83

    Standard

    danke für deine rasche antwort!

    ich verwende xhtml, dass dürfte dann der fehler sein.
    ich mache eine website mit dem contao webShop.
    hier wurde auf der beispieilseite xhtml verwendet, aber vielleicht funktioniert es ja auch mit html5?!

    grüße chinagirl

  9. #9
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Für Dein Ausgabeformat könnte man es mit etwas JavaScript machen, das den Standardwert löscht und bei leerem Feld wieder neu setzt.

    Ich bin momentan leider nur am Handy online. Wenn ich nachher wieder am Rechner sitze, schreibe ich Dir, wie es genau funktioniert.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  10. #10
    Contao-Nutzer Avatar von chinagirl
    Registriert seit
    30.08.2011.
    Ort
    Wien
    Beiträge
    83

    Standard

    super !!!
    danke dir

  11. #11
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    So, wie versprochen hier die notwendigen Template-Anpassungen:
    PHP-Code:
    <input type="text" name="keywords" id="ctrl_keywords_<?php echo $this->uniqueId?>" class="text cleardefault" value="<?php echo $this->keyword?>" onblur="if (this.value == '') { this.value = 'Suchen...'; this.addClass('cleardefault'); }" onfocus="if (this.value == 'Suchen...') { this.value = ''; this.removeClass('cleardefault'); this.select(); }" />
    Sobald das Eingabefeld den Fokus hat, wird der Standardwert entfernt. Wenn das Feld geleert wird, wird der Wert des Feldes wieder auf den Vorbelegungstext gesetzt. Ich habe weiters eine Klasse "cleardefault" eingefügt, um mehr Möglichkeiten bei der Formatierung des Standardwertes zu haben. Hoffe, das hilft.

    NB: Sollten die Änderungen am Template nicht unmittelbar greifen, dann ggf. den FileCache "system/tmp" in der "Systemwartung" bereiningen.
    Geändert von xchs (06.06.2013 um 13:40 Uhr)
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  12. #12
    Contao-Nutzer Avatar von chinagirl
    Registriert seit
    30.08.2011.
    Ort
    Wien
    Beiträge
    83

    Standard

    danke!

    es funktioniert, aber noch nicht ganz richtig.
    wenn man in das suchfeld klickt und dann auf einen link erscheint "Suchen...", aber auch nur kurz.

    > hier der link

    lg, chinagirl

  13. #13
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich kann nicht genau nachvollziehen, was Du mit
    [...] wenn man in das suchfeld klickt und dann auf einen link erscheint "Suchen...", aber auch nur kurz.
    meinst. In meinem Test grad eben auf Deiner Seite funktionierte das Leeren und Setzen des Standardwertes (beinahe) wie beabsichtigt. Lediglich beim Laden der Seite ist das Suchfeld natürlich leer: Hier könntest Du also das value-Attribut entsprechend mit dem Standardwert vorbelegen:
    PHP-Code:
    <input type="text" name="keywords" id="ctrl_keywords_<?php echo $this->uniqueId?>" class="text cleardefault" value="<?php if ($this->keyword): ?><?php echo $this->keyword?><?php else: ?>Suchen...<?php endif; ?>" onblur="if (this.value == '') { this.value = 'Suchen...'; this.addClass('cleardefault'); }" onfocus="if (this.value == 'Suchen...') { this.value = ''; this.removeClass('cleardefault'); this.select(); }" />
    Vielleicht auch mal den Browsercache bereinigen. Schadet bestimmt auch nicht.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  14. #14
    Contao-Nutzer Avatar von chinagirl
    Registriert seit
    30.08.2011.
    Ort
    Wien
    Beiträge
    83

    Computer

    hi cool!
    jetzt funktioniert es, wie ich es mir vorgestellt habe
    danke!!!

  15. #15
    Contao-Nutzer Avatar von art-instinct
    Registriert seit
    12.04.2012.
    Ort
    Hannover/Leipzig
    Beiträge
    175

    Standard

    du kannst auch ein Formular mit einem Formularfeld erstellen und einbinden. Der Wert kann an an die Suchmaschine übergeben werden. Sollte zumindest bis 2.11. noch funzen, soweit ich weiß.
    http://de.contaowiki.org/Suchfunktion_integrieren

    Und im Formular kann man ja Standardwerte etc. setzen. Für alle, die nichts händisch frickeln wollen.

  16. #16
    Contao-Nutzer Avatar von chinagirl
    Registriert seit
    30.08.2011.
    Ort
    Wien
    Beiträge
    83

    Standard

    danke für deinen tipp, davon habe ich auch schon gelesen.
    hätte ich im nächsten schritt gemacht, aber nachdem es funktioniert, ist es nicht mehr notwendig

  17. #17
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Natürlich funktioniert es auch so, wie art-instinct es beschreibt. Die Frage ist: Soll der Standardwert beim Fokussieren des Feldes automatisch entfernt und beim Leeren wieder neu gesetzt werden? Wenn Du es so machst wie von art-instinct vorgeschlagen, müsstest Du nämlich den Standardwert jedesmal selbst aus dem Feld entfernen. Ohne Drittanbietererweiterung geschieht das nämlich nicht automatisch.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  18. #18
    Contao-Nutzer
    Registriert seit
    04.04.2014.
    Beiträge
    46

    Standard

    Wenn ich mal fragen darf, wie würde diese Codezeile für das html5 Template aussehen?

    In Verwendung: Contao 3.2.8

  19. #19
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Dafür brauchst Du im Eingabefeld nur das placeholder-Attribut ergänzen (siehe Beitrag #2).

    Im Template würde die Zeile dann beispielsweise so aussehen:
    PHP-Code:
    <input type="search" name="keywords" id="ctrl_keywords_<?php echo $this->uniqueId?>" class="text" value="<?php echo $this->keyword?>" placeholder="Suchen&hellip;">
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  20. #20
    Contao-Nutzer
    Registriert seit
    04.04.2014.
    Beiträge
    46

    Standard

    Danke für die rasche Antwort.
    Um das Suchfeld freier gestalten zu können habe ich es in ein Formular gepackt -> Link

    Kann es sein, dass dieses Formular ein "placeholder" unterdrückt?
    In Verwendung: Contao 3.2.8

  21. #21
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.557
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hast Du in den Einstellungen des Formularelements im Feld "Platzhalter" einen Platzhaltertext eingetragen?
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  22. #22
    Contao-Nutzer
    Registriert seit
    04.04.2014.
    Beiträge
    46

    Standard


    Warum in die Ferne schweifen ... das ist mir jetzt schon peinlich

    Ich war so damit beschäftigt, das Feld per CSS zu gestalten, dass ich das Formular selbst gar nicht weiter beachtet habe.

    Danke
    In Verwendung: Contao 3.2.8

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •