Tab "Link auf eine Datei"

Fragen zur Installation von CONTENIDO 4.9? Probleme bei der Konfiguration? Hinweise oder Fragen zur Entwicklung des Systemes oder zur Sicherheit?
Antworten
mattmarr
Beiträge: 361
Registriert: Mo 3. Aug 2009, 14:11
Kontaktdaten:

Tab "Link auf eine Datei"

Beitrag von mattmarr » Mo 18. Jan 2016, 12:53

Hallo!

Ich stehe gerade irgendwie auf dem Schlauch.

Wie komme ich an den hinterlegten Link mittels $var->getContent('CMS_LINKEDITOR', 1) vom Tab "Link auf eine Datei"?
"Externer Link" funktioniert ohne probleme.

Contenido 4.9.8 ist Installiert.



Gruß
Matthias

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: Tab "Link auf eine Datei"

Beitrag von rethus » Mo 18. Jan 2016, 18:18

Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: Tab "Link auf eine Datei"

Beitrag von rethus » Di 22. Nov 2016, 18:19

Zugegeben, die Doku ist hier etwas spärlich, daher hier mal ein kleines Beispiel mit Anwendungsfall-Erklärung:

Fall 1:
Wenn du nur den Link als Text Ausgeben möchtest, wie du es im Backend eingegeben hast, kannst du einfach folgendes machen:

Code: Alles auswählen

       $ocType = new cTypeGenerator();     // Object zur Erstellung eines CMS-Typen
       echo stripslashes($ocType->getGeneratedCmsTag("CMS_LINKEDITOR", 25 )); // fügt CMS_LINKEDITOR einem Array hinzu
 
Im Backend erzeugt dies den blauen Button mit der Kette, um hier einen Link zu wählen.
Im Frontend wird der Button automatisch ausgeblendet, und es erscheint nur der Link (wenn du im Auswahlfeld das Feld Titel nicht bestückt hast, wird hier die ganze URL ausgegeben, sonst der Titel den du eingegeben hast)

Fall2:
Du möchtest den Link z.B. um ein Bild herum legen.
Da du die Standardausgabe (siehe Fall1) hier nicht haben möchtest, darf das CMS_LINKEDITOR Element nur im Backend ausgegeben werden.
Im Frontend greifen wir direkt auf das cContentTypeLink-Objekt zu, um die Infos einzeln zu erhalten und uns unsere eigene Verlinkung zu bauen.

Code: Alles auswählen

 
      $art = new cApiArticleLanguage();
      $art->loadByArticleAndLanguageId(cRegistry::getArticleId(), cRegistry::getLanguageId());
      $ocType = new cTypeGenerator();     // Object zur Erstellung eines CMS-Typen

        if (cRegistry::isBackendEditMode()) {  // nur im Contenido-Backend ausgeben
            echo stripslashes($ocType->getGeneratedCmsTag("CMS_LINKEDITOR", 25 )); // fügt CMS_LINKEDITOR einem Array hinzu
        }
// Hier die Ausgabe fürs Frontend
        // load "RAW"-Setting to paste it as Parameter for cContentTypeXXX
        $settings = $art->getContent("CMS_LINKEDITOR", 15);
        $ln = new cContentTypeLinkeditor($settings,25,array());  // $i ist hier die Container-ID. Wenn du in ner FOR-Schleife bist, ist dass meistens i, kann aber bei Einzelanwendung auch als Zahl gesetzt werden.
        $title = $ln->getTitle(); //gibt dir den Titel    // Titel aus dem Objekt "cContentTypeLink" holen
        $url $ln->getLink(); // gibt dir die URL      // URL aus dem Objekt "cContentTypeLink" holen
 
Im Fall2 kannst du dann mit dem entsprechenden Objekt die hier aufgeführten Methoden des Objektes CMS_LINKEDITOR anwenden.
Ich habe dort in der Doku ganz unten auch nochmal ein anderes Code-Beispiel angefügt. Nicht ganz intuitiv, aber wichtig ist, dass cContentTypeLinkeditor als ersten Parameter das ContentType-Objekt (hier $settings) übergeben wird, das zuvor via ArticleLanguage-Object in den ersten beiden Zeilen instanziiert wird.

Hoffe das hilft weiter.
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable.com: - HighSpeed Hosting, Domains, DomainReselling, Linux-Administration
suther.de: - App-Programierung, High-Performance-Webpages, MicroServices, API-Anbindungen & Erstellung

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

Antworten