We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 17058
    • 80 Posts
    Hier komme ich auch schon mit der nächsten Frage. grin

    Obwohl ich schon das eine oder andere Project mit ModX realisiert habe, bin ich mit den TV’s nur selten in Berührung gekommen. Ich denke aber, dass die TVs ein mächtiges Werkzeug darstellen. Und jetzt würde ich das gerne mal ausprobieren. BTW: gibt es hier (komplettes Forum) ein gutes Tutorial über dieses Thema? Trotz Suche bin ich nicht fündig geworden. Von der groben Einfürung unter www.modxcms.com abgesehen.

    Jetzt gehts los:
    Ich möchte mit Hilfe einer(?) Templatevariablen folgende Struktur in meine Seite einbauen.

    <ul id="portfolio">
    <li><a href="[~1~]""><img src="http://mydomain.de/projekt1.jpg" alt="projekt1" /></a></li>
    <li><a href="[~2~]"><img src="http://mydomain.com/projekt2.jpg" alt="projekt2" /></a></li>
    <li><a href="[~3~]"><img src="http://mydomain.com/projekt3.jpg" alt="projekt3" /></a></li>
    <li><a href="[~4~]"><img src="http://mydomain.com/projekt4.jpg" alt="projekt4" /></a></li
    </ul>

    Gern würde ich dazu auf der Dokumenteneigenschaften eine Optionsliste(?) benutzen.
    Bildpfad1 ; Link || http://mydomain.com/projekt2.jpg ; [~2~]
    Diese TV sollte dann die Werte in das o.g. Konstrukt ein’parsen’.

    Ist das überhaupt möglich? Oder eine HTMLArea-TV und die Liste per Hand anpassen?
    Danke, le block
      le_block is Member of FUTY | Medienagentur aus Leipzig mit Schwerpunkt Marketing, Branding, Print und Webdesign
      • 17883
      • 1,039 Posts
      Nur zum Verständnis:

      Wie soll die TV aussehen? Mehrzeilige textarea, jede Linie setzt einen Link zusammen?

      Oder: Jedes Dokument 1 TV mit einer Zeile und an zentraler Stelle die daraus generierte Liste?
        • 36805
        • 354 Posts
        Klingt mehr nach einer typischen Aufgabe fuer einen Snippet wie Ditto oder Wayfinder oder auch was eigenens. Hast du einen guten Grund hierfuer tv’s zu verwenden? Typischerweise verwendet man sie nur um manager-/web- user input zu speichern die an Dokumente gekoppelt werden sollen. Was du beschreibst ist aber eher vergleichbar mit einer vom System generierte Navigation.
          • 17058
          • 80 Posts
          Danke,

          @ mademyday:
          jedes Listenelement (<li>...</li>) soll, ein Bild mit Link zusammensetzten. Guckstu Startseite: http://www.fromustoyou.de.
          Damit werden die überblendenden Bilder generiert. Ich möchte das auch auf unseren Portfolioseiten einsetzen.
          Dazu wäre mir eine schnelle und einfache Lösung lieber. Deshalb dachte ich mir eine TV (die auf das Portfolio-Template aufsetzt), bei der ich bei jeden neuen Dokument (Seite->zu zeigende Referenz) die Bilder mitgebe.

          Andersherum ich möchte auf jeder Portfolioseite unterschiedliche Listen (<ul>...</ul>) mit Bildern einfügen.Die dann das Projekt näher bebildern/darstellen.

          @MrDutchy
          Natürlich hast du auch Recht. Es ist ein unikater Bestandteil einer Seite und somit auch ein Navigationselement. Jetzt könnte ich mit Ditto (und MaxiGallery), was zusammenstricken, dann auslesen und dann einfügen. Ich denke aber, dass mit einer Templatevariable die ganze Sache einfacher (wenn auch nicht unbedingt superelegant) zu lösen ist.

          le block

          BTW: Wie ihr vielleicht gesehen habt, baue ich ständig an der Seite herum. Wenn Euch also Kritik auf der Zunge liegt, her damit. (Ja, ist noch nicht valide rolleyes )
            le_block is Member of FUTY | Medienagentur aus Leipzig mit Schwerpunkt Marketing, Branding, Print und Webdesign
            • 17058
            • 80 Posts
            ähem, räusper, bump. cool
              le_block is Member of FUTY | Medienagentur aus Leipzig mit Schwerpunkt Marketing, Branding, Print und Webdesign
              • 17883
              • 1,039 Posts
              Wie wäre ein eigenes Snippet, das Dir nen images-Ordner ausliest und die Liste aus bestehenden Bildern zusammenbaut. Den Ordner könntest beispielsweise bilder_34 nennen, dann kommen da die Bilder für die id 34 rein. Im Template bräuchtest Dann nur noch den Snippetaufruf setzen ;-)

              Jaja, ich weiß was jetzt kommt... ich schau mal laugh
                • 17058
                • 80 Posts
                dazu müsste man php können. Ich kann das zwar ’lesen’, aber nicht selber programmieren. Das ist das Problem. smiley

                ...das mit ich schau mal, habe ich nicht verstanden.Sprichst du die ’Unart’ von Newbie-Fragestellern an, das Handtuch zu werfen, wenn es ein bissel komplizierter wird? Danke trotzdem? le block
                  le_block is Member of FUTY | Medienagentur aus Leipzig mit Schwerpunkt Marketing, Branding, Print und Webdesign
                  • 17883
                  • 1,039 Posts
                  ich schau mal heißt, dass ich Dir in ca. zehn Min das Snippet hier reinstell wink
                    • 17058
                    • 80 Posts
                    Ja, genauso machen wir das. grin Also nichts überstürzen.
                    Ein großes Dankeschön... le block

                    Offtopic: Bist du fit in PHP? Dann ist das hier vielleicht was für dich? http://www.fromustoyou.de/agentur/jobs.html
                      le_block is Member of FUTY | Medienagentur aus Leipzig mit Schwerpunkt Marketing, Branding, Print und Webdesign
                      • 17883
                      • 1,039 Posts
                      Ich bin in PHP so gut wie Du in einem Jahr nachdem Du regelmäßig modx nutzt ;-)

                      Snippet "portfolio":

                      <?php
                      /***
                      * Portfolio Snippet 0.1.
                      * Usage Copy this code in a new snippet "portfolio" and put [!portfolio!] in your document
                      * more explanation to come....
                      *
                      ***/
                      
                      $ordner_id = $modx->documentIdentifier;
                      $dir = 'assets/snippets/portfolio'; //Directory for galleries
                      $first=true;
                      $output.='<ul id="portfolio">';
                      $gallerydir=opendir($dir.'/'.$ordner_id);
                      	while (true == ($file = readdir($gallerydir)))
                      	{
                      		if ((substr(strtolower($file), -3)=="jpg") or (substr(strtolower($file), -3)=="gif") or (substr(strtolower($file), -3)=="png")) //look for correct image types
                      			{
                      			$output.='<li>'; // listenstart
                      			$output_link_anfang='';
                      			$output_link_ende='';	
                      			if (strpos($file,'_')) //wenn _ vorkommt soll verlinkt werden
                      				{
                      					$bild_id_start = strpos($file,'_')+1;
                      					$link_id = substr(strtolower($file),$bild_id_start,-4);
                      					$output_link_anfang = '<a href="[~'.$link_id.'~]">';
                      					$output_link_ende = '</a>';
                      				}
                      			$output.=$output_link_anfang.'<img src="'.$dir.'/'.$ordner_id.'/'.$file.'" alt="portfoliobild'.$file.'" />'.$output_link_ende.'</li>';
                      							}
                      							$output.="\n";
                      			}
                      	$output.='</ul>';
                      return $output;
                      ?>


                      Nutzung: Lege einen Ordner /assets/snippets/portfolio an. Dort hinein kommt für jede Dokumenten-ID, in der ein Portfolio angezeigt werden soll, ein Ordner mit Bildern, die angezeigt werden sollen mit dem Namen der ID:

                      snippets/
                      portfolio/
                      /23
                      /BILDeins.jpg
                      /haus.jpg
                      /katze_13.jpg <- verlinkt auf Doc 13
                      /34
                      /BILDeins.jpg
                      /haus.jpg
                      /katze_13.jpg <- verlinkt auf Doc 13
                      /45
                      /BILDeins.jpg
                      /haus.jpg
                      /katze_13.jpg <- verlinkt auf Doc 13

                      wäre zum Beispiel ein Portfolio für die Seiten 23,34,45. Also in den jeweiligen Dokumenten ein [!portfolio!] rein und fertig.

                      Da Du zwei verschiedene Galerien brauchst (mit und ohne Verlinkung), habe ich das gleich mal universell gebaut ;-) Das heißt, soll ein Bild verlinkt werden muss es folgendermaßen benamt werden: BILDBEISPIEL_33.jpg, wobei 33 dann die Link-ID ist. Habe es jetzt mal nur für interne DOCs gemacht, könnte man auch mit externen Links machen, aber alles zu seiner Zeit. Sollen einfach nur Bilder angezeigt werden, einfach den Dateinamen ohne "_" vergeben (wichtig: "_" darf nur vorkommen wenn verlinkt werden soll).

                      Soweit mein Teil. Jetzt müsstest Du zur Vollendung des Snippets mir das fertige Ding präsentieren wenn es geht und mal hier die Scripts anhängen (JS was auch immer), die dafür nötig sind. Dann könnte man das Ding universell als Paket zum Download anbieten ;-)