Ergebnis 1 bis 13 von 13

Thema: Beschriftung rechts von Feldern anordnen

  1. #1
    Contao-Nutzer
    Registriert seit
    29.09.2011.
    Beiträge
    39

    Standard Beschriftung rechts von Feldern anordnen

    Hallo alle zusammen,

    ich baue gerade für einen Kunden eine mehrsprachige Seite. Darunter gibt es auch eine arabische Version der Website. Nun schreibt man arabisch von rechts nach links anstatt von links nach rechts. Daher sieht das Formular mit der Schrift links platziert mehr versucht als gekonnt aus. Ich habe mir daraufhin die Formatierung angeschaut und festgestellt, dass die Beschriftung der einzelnen Felder mittels Spaltenset so angeordnet sind. Nun ja an sich wäre also mein Problem ganz einfach zu lösen, in dem ich einfach die Anordnung der Spalten vertausche. Leider finde ich den Befehl für das Spaltenset in keinem der Templates... Hat irgendjemand eine Idee wo ich das Spaltenset finde?

    LG tribiz

  2. #2
    Contao-Nutzer Avatar von Lego2013
    Registriert seit
    26.01.2013.
    Ort
    Niedersachsen
    Beiträge
    155

    Standard

    Guck Dir mal YAML4 an. Das Framework hat RTL-Support (Right To Left): http://www.yaml.de/docs/index.html
    Beste Grüße, Leo

    Gotta get up and try try try

  3. #3
    Contao-Nutzer
    Registriert seit
    29.09.2011.
    Beiträge
    39

    Standard

    Also ich habe das zuständige Template übersehen gehabt... Das Template dafür heißt form_widget.html5! Habs auch abgeändert nur bewirkt es nichts... Hat jemand ne idee wie ich einem speziellen Formular die Änderung zuordnen könnte? (normalerweise kann man ja über Module Templates zuordnen nur geht das hier nicht...)

  4. #4
    Contao-Nutzer
    Registriert seit
    29.09.2011.
    Beiträge
    39

    Standard

    Zitat Zitat von Lego2013 Beitrag anzeigen
    Guck Dir mal YAML4 an. Das Framework hat RTL-Support (Right To Left): http://www.yaml.de/docs/index.html
    Hey danke für den Tipp! Leider bringt mir das in diesem Fall nichts da ich mit YAML ja nicht ein bestehende Spaltenset überschreiben kann. Trotzdem vielen Dank für den Tipp!

  5. #5
    Contao-Fan Avatar von kos
    Registriert seit
    22.06.2009.
    Ort
    Westerwald
    Beiträge
    888

    Standard

    Zitat Zitat von tribiz Beitrag anzeigen
    Habs auch abgeändert nur bewirkt es nichts...
    Hast Du im BE unter Systemwartung die Daten bereinigt?

  6. #6
    Contao-Nutzer
    Registriert seit
    29.09.2011.
    Beiträge
    39

    Standard

    Hey KOS,

    hat wunderbar funktioniert! Leider gibt es noch ein kleines Problem... Da ich bis jetzt nicht weiß wie ich nur die Formulare auf der arabischen Seite anwählen kann haben sich jetzt auch auf der englischen Seite alle Spaltensets umgedreht. Das ist natürlich nicht erwünscht... Ich habe versucht in dem form_widget Template die Formulare spezielle anzuwählen (also z.B. <div id="f5">...</div>), hat aber leider nicht funktioniert... Hast du oder jemand anders noch eine Idee wie ich das bewerkstelligen könnte?

  7. #7
    Contao-Nutzer
    Registriert seit
    29.09.2011.
    Beiträge
    39

    Standard

    PHP-Code:
    <?php if (!$this->tableless): ?>
    <div id="f5">
    <tr class="<?php echo $this->rowClass?>">
        <td class="col_0 col_first"><?php echo $this->generateWithError(); ?></td>
        <td class="col_1 col_last"><?php echo $this->generateLabel(); ?></td>

      </tr>
    </div>
    <?php else: ?>
      <?php echo $this->generateWithError(); ?>
      <?php echo $this->generateLabel(); ?><br>
    <?php endif; ?>
    so hier nochmal der ganze Code!

  8. #8
    Contao-Fan Avatar von kos
    Registriert seit
    22.06.2009.
    Ort
    Westerwald
    Beiträge
    888

    Standard

    Du könntest der Seite mit dem Formular pro Sprache eine andere Klasse zuweisen und dann im Template diese Klasse verwenden. Schau dir hierzu mal das Wiki an.

  9. #9
    Contao-Nutzer
    Registriert seit
    29.09.2011.
    Beiträge
    39

    Standard

    Hey KOS,

    nochmal danke für den Tipp! Ich habe deinen Rat auch direkt umgesetzt nur leider stimmt irgendetwas schon wieder nicht... Zuerst habe ich dem entsprechenden Formular eine spezifische class zugewiesen (.arabic) und danach habe ich folgendes in die form_widget.html5 eingetragen:

    PHP-Code:
    <?php if(in_array('.arabic'explode(' '$this->class))): ?>

    <?php if (!$this->tableless): ?>
    <tr class="<?php echo $this->rowClass?>">
        <td class="col_0 col_first"><?php echo $this->generateWithError(); ?></td>
        <td class="col_1 col_last"><?php echo $this->generateLabel(); ?></td>

      </tr>
    <?php else: ?>
      <?php echo $this->generateWithError(); ?>
      <?php echo $this->generateLabel(); ?><br>
    <?php endif; ?>

    <?php else: ?>

    <?php if (!$this->tableless): ?>
      <tr class="<?php echo $this->rowClass?>">
        <td class="col_0 col_first"><?php echo $this->generateLabel(); ?></td>
        <td class="col_1 col_last"><?php echo $this->generateWithError(); ?></td>
      </tr>
    <?php else: ?>
      <?php echo $this->generateLabel(); ?> 
      <?php echo $this->generateWithError(); ?><br>
    <?php endif; ?>

    <?php endif; ?>
    siehst du oder jemand anders den Fehler?

    Lieben Dank

    Ben
    Geändert von tribiz (16.04.2013 um 11:04 Uhr)

  10. #10
    Contao-Nutzer
    Registriert seit
    29.09.2011.
    Beiträge
    39

    Standard

    Ich habe auch versucht der ganzen Seite die Klasse zu geben und habe im PHP-Skript .arabic und arabic ausprobiert... nichts hat geholfen =/

  11. #11
    Contao-Fan Avatar von kos
    Registriert seit
    22.06.2009.
    Ort
    Westerwald
    Beiträge
    888

    Standard

    Wird die Klasse denn auch an das Template übergeben? Kann das gerade nicht prüfen.
    Teste mal mit
    Code:
    <?php echo $this->showTemplateVars(); ?>

  12. #12
    Contao-Nutzer
    Registriert seit
    29.09.2011.
    Beiträge
    39

    Standard

    führt zu einer weißen Seite... =( Ich denke mal das bedeutet, dass die class nicht angesprochen wird... Nur weiß ich leider immer noch nicht warum =/

  13. #13
    Contao-Nutzer
    Registriert seit
    29.09.2011.
    Beiträge
    39

    Standard

    LÖSUNG:

    Das ist der richtige Code:

    PHP-Code:
    <?php if(in_array('arabic'explode(' '$this->class))): ?>

    <?php if (!$this->tableless): ?>
    <tr class="<?php echo $this->rowClass?>">
        <td class="col_0 col_first"><?php echo $this->generateWithError(); ?></td>
        <td class="col_1 col_last"><?php echo $this->generateLabel(); ?></td>

      </tr>
    <?php else: ?>
      <?php echo $this->generateWithError(); ?>
      <?php echo $this->generateLabel(); ?><br>
    <?php endif; ?>

    <?php else: ?>

    <?php if (!$this->tableless): ?>
      <tr class="<?php echo $this->rowClass?>">
        <td class="col_0 col_first"><?php echo $this->generateLabel(); ?></td>
        <td class="col_1 col_last"><?php echo $this->generateWithError(); ?></td>
      </tr>
    <?php else: ?>
      <?php echo $this->generateLabel(); ?> 
      <?php echo $this->generateWithError(); ?><br>
    <?php endif; ?>

    <?php endif; ?>
    Um die Klasse auch richtig ansprechen zu können muss man die Klasse den einzelnen Textfeldern zuweisen. (...ist zwar ein wenig Arbeit bei größeren Formularen, funktioniert aber wie gewünscht!)

    Vielen Dank and KOS!!!

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
  •