Alles nur Ansichtssache

Geschrieben von Dejan Spasic • Tuesday, 30. November 2010 • Kategorie: QuerbeetKommentare (0)

Wer schon immer wissen wollte wie die C oder Java Entwickler uns PHP-Entwickler sehen, kann ich eine kleine aber dennoch interessante Matrix liefern. Natürlich ist alles nur reine Theorie.

jQuery und $ Variablen

Geschrieben von Dejan Spasic • Friday, 26. November 2010 • Kategorie: CodingKommentare (0)

Was mir in letzten Zeit bei Javascript-Dateien die jQuery einsetzen aufgefallen ist das jQuery-Objekte mit einem $-Zeichen gekennzeichnet werden. Dies macht natürlich Sinn, wenn man sich überlegt das man gerne mal ein paar Variablen immer wieder durch jQuery durchjagt, weil man nicht mehr sicher ist, ob der Variable zugewiesener Wert nun ein jQuery-Objekt ist oder nicht. Obwohl das Beispiel eigentlich ein Indikator dafür ist, dass man den Code lieber sauber machen sollte :-)

Tags für diesen Artikel: ,

Diem: Den Scriptname in Javascript anhängen

Geschrieben von Dejan Spasic • Wednesday, 24. November 2010 • Kategorie: CodingKommentare (0)

Wenn man in Diem eine fest definiert URI in einer JavaScript-Datei angeben möchte, muss man immer an den Scriptname denken. Dieser ist dummerweise nicht einzigartig und kann mehrfach auftreten. Diem selbst setzt am ende jedes HTML-Dokuments die JavaScript-Variable dm_configuration mit diversen Daten, mit unter den Scriptname, bereit. Hier könnte man z.B. die den Wert mit der eigentlichen URI zusammensetzen. Es gibt aber auch eine andere Möglichkeit und zwar über $.dm.ctrl.getHref(). Diese Methode hängt nämlich vor der übergebene URI den Scriptname dran.

$.dm.ctrl.getHref('+/ddMain/index');
Tags für diesen Artikel: ,

setTranslationCatalogue vom sfWidgetFormSchemaFormatter einsetzen

Geschrieben von Dejan Spasic • Tuesday, 23. November 2010 • Kategorie: PHPKommentare (0)

Mit der sfWidgetFormSchemaFormatter::setTranslationCatalogue hat man die Möglichkeit, den Cataloguenamen für die Übersetzung zu setzen. Aber Vorsicht, dies sollte logischerweise erst nach dem man den sfWidgetFormSchemaFormatter für das Formular definiert hat setzen.

//Falsch
$this->widgetSchema->getFormFormatter()->setTranslationCatalogue('user');
$this->widgetSchema->setFormFormatterName('table');

//Richtig
$this->widgetSchema->setFormFormatterName('table');
$this->widgetSchema->getFormFormatter()->setTranslationCatalogue('user');

So viel dazu.

Tags für diesen Artikel: , ,

Deutsche Übersetzung der Fehlermeldungen des Symfony Validators sfValidatorFile

Geschrieben von Dejan Spasic • Monday, 22. November 2010 • Kategorie: PHPKommentare (0)
Hier die deutsche Übersetzung für die Fehlermeldungen des sfValidatorFile.
<trans-unit>
        <source>form.image.error.maxSize</source>
        <target>Datei ist zu groß (maximum sind %max_size% bytes).</target>
      </trans-unit>
      <trans-unit>
        <source>form.image.error.mimeType</source>
        <target>Der mime type ist invalide (%mime_type%).</target>
      </trans-unit>
      <trans-unit>
        <source>form.image.error.partial</source>
        <target>Die Datei konnte nicht vollständig übertragen werden.</target>
      </trans-unit>
      <trans-unit>
        <source>form.image.error.required</source>
        <target>Es wurde keine Datei angegeben.</target>
      </trans-unit>
      <trans-unit>
        <source>form.image.error.noTempDir</source>
        <target>Das temporäre Verzeichnis konnte nicht gefunden werden.</target>
      </trans-unit>
      <trans-unit>
        <source>form.image.error.cantWrite</source>
        <target>Die Datei kann nicht auf der Festplatte geschrieben werden.</target>
      </trans-unit>
      <trans-unit>
        <source>form.image.error.extension</source>
        <target>Die Dateiendung ist nicht richtig.</target>
      </trans-unit>
Eingesetzt wird das Ganze folgendermaßen.
<?php 

class ddUploadImageForm extends sfForm
{
  public function configure()
  {
    $this->setWidgets(array(
      'image' => new sfWidgetFormInputFile(),
    ));

    $this->setValidators(array(
      'image' => new sfValidatorFile(array(
        'required' => true,
        'max_size' => 20000000,
      )),
    ));

    //set the catalogue for i18n 
    $this->widgetSchema->getFormFormatter()->setTranslationCatalogue('uploadImage');

    $this->validatorSchema['image']->setMessage(
      'required',
      'form.error.required'
    );
    $this->validatorSchema['image']->setMessage(
      'max_size',
      'form.image.error.maxSize'
    );
    $this->validatorSchema['image']->setMessage(
      'mime_types',
      'form.image.error.mimeType'
    );
    $this->validatorSchema['image']->setMessage(
      'partial',
      'form.image.error.partial'
    );
    $this->validatorSchema['image']->setMessage(
      'no_tmp_dir',
      'form.image.error.noTempDir'
    );
    $this->validatorSchema['image']->setMessage(
      'cant_write',
      'form.image.error.cantWrite'
    );
    $this->validatorSchema['image']->setMessage(
      'extension',
      'form.image.error.extension'
    );
  }

}
Tags für diesen Artikel: , ,