Ankündigung

Einklappen
Keine Ankündigung bisher.

Zend_Form und mein Label horror

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • fragnicht
    hat ein Thema erstellt Zend_Form und mein Label horror.

    Zend_Form und mein Label horror

    Moisnen also ich bastel gerade in Zend ...

    So und ich habe ne Form

    PHP-Code:
            $username = new Zend_Form_Element_Text('username');
            
    $username->setRequired(true)
            ->
    addFilter('StripTags')
            ->
    addFilter('StringTrim')
            ->
    addValidator('NotEmpty')
            ->
    setAttrib("class","box-gr");
            
    $username->setValue("www.");
            
    $username->setLabel("Domainame (www.meineseite.de):"); 
    so Problem ist "box-gr" soll er nur beim input feld machen nicht bei dem Label Tag!

    Hat da jemand ne Idee?

  • Flor1an
    antwortet
    Super dann wäre es doch viel einfacher in die CSS Datei zu schreiben:
    Code:
    box-gr input {
        width: 400px;
        ...
    }
    Deshalb vorhin auch meine Frage wofür du das wirklich brauchst? Denn in CSS kannst du auch NUR das Input Feld ansprechen, das machst du ja jetzt auch eigentlich, nur halt extrem unschön. Vor allem wenn du dann die CSS Datei anpasst und einfach nicht findest wo du die Breite definieren kannst.

    Einen Kommentar schreiben:


  • fragnicht
    antwortet
    Lösung gefunden!

    unschön aber funktioniert

    PHP-Code:
    ->setAttrib("style","width: 400px;..."); 
    ich setzte einfach style als Attribute den das übernimmt er nicht im Label

    PS: sry 4 double posting

    Einen Kommentar schreiben:


  • fragnicht
    antwortet
    naja find ich nicht ganz
    weil dann muss ich auf jeden fall einen eigenen schreiben ich dacht das ganze würde einfacher gehen aber naja wohl nicht

    Einen Kommentar schreiben:


  • phpdummi
    antwortet
    Auf Zend Framework: Documentation ist unter anderem beschrieben wie man ein eigenes Label durch einen Decorator umsetzt.
    Desweiteren ist dort beschrieben, wie man die automatische Generierung von Label-Elementen durch die defaultDecorators unterdrückt.
    PHP-Code:
    $element = new Zend_Form_Element('foo', array('disableLoadDefaultDecorators' => true)); 
    OK, ich habe nicht explizit darauf hingewiesen dass man die Seite auch lesen muss .

    Ich benutze übrigens das ZF nicht, kann ihm von daher nicht genauer helfen.
    Das Manual ist in diesem Fall aber auch ausreichend...

    Einen Kommentar schreiben:


  • Flor1an
    antwortet
    Ich denke das ist keine Antwort auf seine Lösung! Denn dort kann man ebenfalls nicht angeben dass es sich nur um das Inputfeld handeln soll und nicht automatisch auch um das Labeltag.

    Einen Kommentar schreiben:


  • phpdummi
    antwortet
    Zitat von http://framework.zend.com/manual/de/zend.form.elements.html
    Form Elemente können zusätzliche Metadaten benötigen. Für XHTML Form Elemente zum Beispiel, kann es gewünscht sein Attribute wie die Klasse oder Id zu spezifizieren. Für die Durchführung gibt es ein Set von Zugriffsmethoden:
    • setAttrib($name, $value): Fügt ein Attribut hinzu
    • addAttribs(array $attribs): Fügt viele Attribute auf einmal hinzu
    • setAttribs(array $attribs): Wie addAttribs(), aber überschreibend
    • getAttrib($name): Empfägt einen einzelnen Attributwert
    • getAttribs(): Empfängt alle Attribute als Schlüssel/Wert Paare
    • removeAttrib($name): Entfernt ein einzelnes Attribut
    • clearAttribs(): Löscht alle Attribute

    Einen Kommentar schreiben:


  • fragnicht
    antwortet
    Er soll dies nicht tuen.
    Ich moechte nicht mal eine andere Class setzten er soll nur im input die eine Klasse setzten mehr nicht...

    Das Hauptproblem ist ich möchte nicht die ganze CSS neu schreiben worauf es dann hinausläuft.

    Einen Kommentar schreiben:


  • Flor1an
    antwortet
    Wo ist das Problem wenn er das Label tag ebenfalls mit diesem Attribut belegt?

    Einen Kommentar schreiben:

Lädt...
X