Ergebnis 1 bis 19 von 19

Thema: Contao 3 Models -> Beschreibung/Erklärung

  1. #1
    Contao-Fan Avatar von iCodr8
    Registriert seit
    07.04.2010.
    Ort
    Karlsruhe
    Beiträge
    394

    Frage Contao 3 Models -> Beschreibung/Erklärung

    Hallo,

    wo finde ich denn eine Übersicht mit Beschreibung der einzelnen Model methoden wie z.B. findAll etc. ?
    In der API Doku für Contao 3 habe ich nichts brauchbares gefunden.
    Bei Contao seit 2.7.5

  2. #2
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.519
    User beschenken
    Wunschliste

    Standard

    Kennst du das? contao-konferenz Entwickler-Workshop.pdf
    Teil 3 beschreibt diese ein wenig.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  3. #3
    Contao-Fan Avatar von iCodr8
    Registriert seit
    07.04.2010.
    Ort
    Karlsruhe
    Beiträge
    394

    Standard

    Ah, sehr gut. Ich war zwar beim Workshop dabei und wusste auch, dass die Präsentation im Umlauf ist, aber konnte diese leider nicht finden.

    Dankeschön! Das hilft schon mal weiter
    Bei Contao seit 2.7.5

  4. #4
    Contao-Fan Avatar von iCodr8
    Registriert seit
    07.04.2010.
    Ort
    Karlsruhe
    Beiträge
    394

    Standard

    Mir ging es mehr darum, welche Parameter ich übergeben muss und was in den Parametern drin stehen sollte. Ein paar Beispiele wie in der jQuery Dokumentation würden der Contao Dokumentation bestimmt nicht schaden.
    Bei Contao seit 2.7.5

  5. #5
    Contao-Fan Avatar von iCodr8
    Registriert seit
    07.04.2010.
    Ort
    Karlsruhe
    Beiträge
    394

    Standard

    Das soll ja kein Vorwurf sein. Ich fände es gut, wenn es noch ein findBy Beispiel geben würde, denn bei dem Link zur Doku sieht man leider nur ein findByCity.
    Wenn ich etwas in der Doku nicht finden kann, schaue ich generell in den Contao Erweiterungen nach. Es wäre jedoch schön wenn man mehrere Beispiele gleich in der Doku finden würde.
    Bei Contao seit 2.7.5

  6. #6
    Contao-Fan Avatar von iCodr8
    Registriert seit
    07.04.2010.
    Ort
    Karlsruhe
    Beiträge
    394

    Standard

    Das findBy prinzip habe ich inzwischen verstanden, doch am Anfang habe ich es nicht geblickt.
    Aber warum kann man nicht ein paar Praxisbeispiele mit in die Doku aufnehmen?
    Wie bei PHP.net, da sind auch immer Beispiele dabei.
    http://php.net/manual/de/function.strpos.php

    Für Contao dann so etwas. Oder ist das auch falsch?
    PHP-Code:
    public static function findAllRootPages()
    {
        
    $t = static::$strTable;
        
        
    $arrColumns = array("$t.type=?");
        
    $arrValues = array('root');
        
        
    $arrOptions = array
        (
            
    'order'  => "$t.sorting ASC"
        
    );
        
        return static::
    findBy($arrColumns$arrValues$arrOptions);

    Bei Contao seit 2.7.5

  7. #7
    Contao-Fan Avatar von iCodr8
    Registriert seit
    07.04.2010.
    Ort
    Karlsruhe
    Beiträge
    394

    Standard

    Mit Beispiel meinst du doch diesen Teil oder?
    PHP-Code:
     Usage:
     * 
     *     
    // Write
     
    *     $user = new UserModel();
     *     
    $user->name 'Leo Feyer';
     *     
    $user->city 'Wuppertal';
     *     
    $user->save();
     * 
     *     
    // Read
     
    *     $user UserModel::findByCity('Wuppertal');
     * 
     *     while (
    $user->next())
     *     {
     *         echo 
    $user->name;
     *     } 
    Bei Contao seit 2.7.5

  8. #8
    Contao-Fan Avatar von iCodr8
    Registriert seit
    07.04.2010.
    Ort
    Karlsruhe
    Beiträge
    394

    Standard

    Ja, als Beschreibung in der Datei reicht das auch völlig aus, aber in der Doku würde ich mir dennoch etwas mehr Beispiele (wie bei php.net oder docs.jquery.com) wünschen.
    Bei Contao seit 2.7.5

  9. #9
    Contao-Fan Avatar von iCodr8
    Registriert seit
    07.04.2010.
    Ort
    Karlsruhe
    Beiträge
    394

    Daumen hoch

    Praxisbeispiele!

    Das was es momentan gibt, ist bei der jQuery Doku mehr oder weniger "Basic Usage". Das was mir noch fehlt sind die Examples.
    Siehe: http://api.jquery.com/animate/

    Und mit einem Praxisbeispiel meine ich nicht eine Erklärung der Grundlagen, sondern einfach ein Beispiel, wie man das ganze anwenden kann.

    Zum Beispiel:
    PHP-Code:
    public static function findAllRootPages() 

        
    $t = static::$strTable
         
        
    $arrColumns = array("$t.type=?"); 
        
    $arrValues = array('root'); 
         
        
    $arrOptions = array 
        ( 
            
    'order'  => "$t.sorting ASC" 
        
    ); 
         
        return static::
    findBy($arrColumns$arrValues$arrOptions); 

    Das erleichtert das ganze insbesondere für Einsteiger.
    Bei Contao seit 2.7.5

  10. #10
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.519
    User beschenken
    Wunschliste

    Standard

    Mal abgesehen davon, dass ich die API3 Doku + Quellcode für ausreichend halte, gehe ich mal davon aus, dass Leo keine dokumentengetriebene Entwicklung macht.
    Und da Contao 3 nun mal noch nicht fertig ist, kann ich auch keine fertige ausführliche Doku verlangen. Die wird wohl dann irgendwann im neuem Buch soweit sein.

    Die API Doku ist meines Wissens auch aus dem Quellcode heraus generiert, da wird man per PHPDoc für jede Methode ein Beispiel bringen, mehr gehört da nicht rein.
    Es steht jedem frei hier im Forum oder im Wiki weitergehende Infos zu geben. So wie ich es bereits mit "Modul Anpassungen für Contao 3 - ..." angefangen hatte.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  11. #11
    Contao-Nutzer
    Registriert seit
    25.08.2009.
    Beiträge
    8

    Standard Tutorial

    Zitat Zitat von leo.unglaub Beitrag anzeigen
    Ich verstehe einfach nicht was man mehr an Beispiel braucht. Es ist immer das gleiceh bei Models. Wenn ich an so wa wie findAllRootPages() denke, das isteinfach kein Beispiel für eine generische Model-Klasse. Denn ein User-Model hat keine rootPages.
    Vielleicht meinte der OP auch nur, dass ihm ein kleines Tutorial wie das hier weiterhelfen würde: http://codeigniter.com/user_guide/tutorial/index.html. Sowas gibt es ja für C2, warum also nicht aktualisiert für C3. Und je früher so ein Tutorial bereit steht desto eher werden sich die Menschen mit dem Thema auseinandersetzen und wesentlich leichter reinkommen. Dokumentierte API ist gut und wichtig, den Hintergrund versteht man (wenn man bspw nicht Teil des Contao-Core-Team ist) m.E. erst wirklich an einem Praxisbeispiel. Und das Beispiel muss nicht generisch sein, deshalb ist es ein Beispiel.

    Sehr interessanter Thread übrigens ... *sic* ... my 2 cents.

  12. #12
    Contao-Urgestein Avatar von FloB
    Registriert seit
    19.06.2009.
    Ort
    Sonnensystem
    Beiträge
    1.618

    Standard

    Zitat Zitat von leo.unglaub Beitrag anzeigen
    Ich verstehe einfach nicht was man mehr an Beispiel braucht.
    Leo, nicht jeder ist in Code zu Hause wie du, und verschiedene Leute lernen auf unterschiedliche Weise. Manche lesen am liebsten Code, andere Fließtext, wieder andere lernen mit (umfangreichen und vielfältigen) Beispielen.

    In diesem Sinne kann ich das Begehren nur unterstützen: Mehrere gute Beispiele, die tlw. auch Randbedingungen abklopfen, helfen oft mehr als abstrakte Beschreibungen oder simples Code-lesen!
    So long,
    FloB since Nov. 2007 +706P +115P and counting

  13. #13
    Contao-Nutzer
    Registriert seit
    23.08.2012.
    Beiträge
    30

    Standard

    Zitat Zitat von leo.unglaub Beitrag anzeigen
    Da stellt sich aber die Frage ob jemand der in gut dokumentiertem Code nicht zu hause ist auch programmierer sein sollte. Denn meiner Meinung nach schliest sich das sonst ja aus.
    Es soll ja Tatsache Leute geben, die selbst bei bestem Codeverständnis abends zum einschlafen ein paar Beispiele lesen (wollen). Und um eben möglichst viele zu bedienen, macht ein breites aufstellen an Doku und Beispielen genauso Sinn, wie beim gesamten Projekt Contao. Oder nicht?

  14. #14
    Community-Moderator Avatar von schman
    Registriert seit
    19.06.2009.
    Ort
    Dornbirn
    Beiträge
    3.739
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von leo.unglaub Beitrag anzeigen
    Da stellt sich aber die Frage ob jemand der in gut dokumentiertem Code nicht zu hause ist auch programmierer sein sollte. Denn meiner Meinung nach schliest sich das sonst ja aus.
    Es kann auch nicht schon jeder seit zig Jahren Programmierer sein, es gibt Leute die fangen erst damit an und da sind Beispiele sicher einfacher. Gib ihnen ein bisschen Zeit vielleicht sagen sie dann selbst das es keine Beispiele mehr benötigt
    Kein Privat Support via PM.

  15. #15
    Contao-Fan
    Registriert seit
    27.11.2009.
    Beiträge
    326

    Standard

    [hat sich erledigt]
    Geändert von tlnewbie (09.11.2012 um 15:44 Uhr)

  16. #16
    Contao-Nutzer Avatar von HADT
    Registriert seit
    03.03.2011.
    Beiträge
    21

    Frage

    Hallo zusammen,

    ich möchte mal ganz beispielhaft folgenden Query umsetzen:
    Code:
    SELECT * FROM tabelle WHERE id = 4711 AND published = '1' LIMIT 1
    Das geht nicht
    PHP-Code:
    $obj MeinModel::findOneBy(array('id''published'), array($id'1')); 
    Das geht, ist aber irgendwie nichts halbes und nichts ganzes.
    PHP-Code:
    $obj MeinModel::findOneBy(array('id = ?''published = ?'), array($id'1')); 
    Wie gehts richtig?

  17. #17
    Contao-Nutzer
    Registriert seit
    20.09.2009.
    Beiträge
    3

    Standard

    Ich muss gestehen mir ist das Ganze noch ein wenig rätselhaft...
    Anhand des News-Moduls habe ich versucht findby in einem eigenen Modul einzusetzen. Bisher liefert es mir aber lustigerweise nur:

    PHP-Code:
    Contao\Model\Collection Object ( [strTable:protected] => tl_appFrame_Application [objResult:protected] => Contao\Database\Mysql\Result Object ( [resResult:protected] => Resource id #68 [strQuery:protected] => SELECT * FROM tl_appFrame_Application [intIndex:Contao\Database\Result:private] => -1 [intRowIndex:Contao\Database\Result:private] => -1 [blnDone:Contao\Database\Result:private] => [blnModified:Contao\Database\Result:private] => [arrCache:protected] => Array ( ) ) [intIndex:protected] => -1 [blnDone:protected] => [arrModels:protected] => Array ( ) ) 
    Wenn ich den entsprechenden SQL-Befehl aber normal ausführe sollten 5 Einträge kommen.
    Ich habe folgendes geschrieben.. leider finde ich nicht ganz meinen Fehler - vllt kann mir ja hier jemand helfen

    $arrPids => liefert ein Array mit jeweils der Schul-ID

    PHP-Code:
    public static function findPublishedBySchools($arrPids$intLimit=0$intOffset=0, array $arrOptions=array())
        {

            if (!
    is_array($arrPids) || empty($arrPids))
            {
                return 
    null;
            }

            
    $t = static::$strTable;
            
    $arrColumns = array("$t.school IN(" implode(','array_map('intval'$arrPids)) . ")");

            
    // Never return unpublished elements in the back end, so they don't end up in the RSS feed
            
    if (!BE_USER_LOGGED_IN || TL_MODE == 'BE')
            {
                
    $time time();
                
    $arrColumns[] = "($t.start='' OR $t.start<$time) AND ($t.stop='' OR $t.stop>$time)";
            }

            if (!isset(
    $arrOptions['order']))
            {
                
    $arrOptions['order']  = "$t.start DESC";
            }

            
    $arrOptions['limit']  = $intLimit;
            
    $arrOptions['offset'] = $intOffset;

            return static::
    findBy($arrColumnsnull$arrOptions);

        } 
    EDIT:

    nachdem hier keinerlei Hilfe kam => https://community.contao.org/de/show...ace-und-Models
    Dieser Beitrag half mir weiter. Eine entsprechene Dokumentation habt ich nicht gefunden gehabt
    Geändert von Maclock (22.06.2013 um 19:26 Uhr)

  18. #18
    Gesperrt
    Registriert seit
    23.06.2009.
    Ort
    Rheinfelden
    Beiträge
    322

    Standard

    Hi,

    Da stellt sich aber die Frage ob jemand der in gut dokumentiertem Code nicht zu hause ist auch programmierer sein sollte. Denn meiner Meinung nach schliest sich das sonst ja aus.
    Ein noch höheres Roß hast du nicht finden können, um auf uns arme Lernende herunterzuschauen?
    Niemand wird als Programmierer geboren, und jeder hat andere Methoden, sich den Umgang mit 'gut dokumentiertem' Code draufzuschaffen.
    Sorry. Das musste ich einfach loswerden.

  19. #19
    Contao-Urgestein
    Registriert seit
    07.07.2009.
    Beiträge
    4.107

    Standard

    Ich muss ihm aber leider ein stückweit Recht geben. Ich bin auch kein gelernter Programmierer und bin seit Jahren im Frontend zuhause (CSS, HTML, JS) aber man sollte das Grundprinzip einfach verstanden haben. Wenn das da ist, dann muss man sich den Code nur anschauen und man weiss wie er funktioniert.

    Es ist nur die Frage wie man das Verständnis des Grundprinzips am schnellsten erreichen kann. Das wird bei jedem wohl anders sein

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
  •