Manual => Article_Include

Gesperrt
Hippo
Beiträge: 8
Registriert: Do 22. Mai 2008, 10:51
Kontaktdaten:

Manual => Article_Include

Beitrag von Hippo » Sa 2. Aug 2008, 08:46

Gibt es neben dem offiziellen Manuals (für Admins + Redakteure) noch weitere Beschreibungen?

Ich suche speziell nach einer Anleitung für ARTICLE_INCLUDE. Hier komme ich bei einer Fehlermeldung (Fatal error: Cannot redeclare totpl() überhaupt nicht weiter...

Danke & Gruß
Hippo

xmurrix
Beiträge: 3149
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Re: Manual => Article_Include

Beitrag von xmurrix » Sa 2. Aug 2008, 17:18

Hippo hat geschrieben:...
Ich suche speziell nach einer Anleitung für ARTICLE_INCLUDE. Hier komme ich bei einer Fehlermeldung (Fatal error: Cannot redeclare totpl() überhaupt nicht weiter...
Der aktuelle Artikel und der eingebundene Artikel verwenden beide wahrscheinlich irgendein Modul in dem eine Funktion toptpl() vorkommt.

In der Modulausgabe von Navigation_Main gibt es z. B. die Funktion toTpl() und wenn beide Artikel es verwenden, wird die zweite Deklaration der Funktion den Fehler verursachen.

Das kannst du umgehen, indem du die ganze Funktion in eine if-Bedingung packst

Code: Alles auswählen

if (!function_exists('toTpl')) {
    function toTpl() {
        ...
    }
}
Weitere interessante Infos zu Contenido gibt es unter http://faq.contenido.org

Gruß
xumrrix
Zuletzt geändert von xmurrix am Sa 2. Aug 2008, 20:37, insgesamt 1-mal geändert.

Hippo
Beiträge: 8
Registriert: Do 22. Mai 2008, 10:51
Kontaktdaten:

Beitrag von Hippo » Sa 2. Aug 2008, 19:20

Hallo xumrrix,
vielen Dank für die Hilfe!

Ich glaube, mein Problem ist viel banaler: Ich habe gar keine eigene Module erstellt, sondern arbeite bisher nur mit dem Standardinhalten, die mit der Version 4.8.6 geliefert werden:

Ich versuche hierbei das Modul ARTICLE_INCLUDE, bei dem ich eine Seite derselben Contenido-Präsentation in eine andere Seite einblenden kann.

Z.B. möchte ich einen Terminkalender eines Vereins innerhalb eines kleinen Rahmens auf der rechten Seite (Spalte 3) auf ALLEN Seiten anzeigen.

Du kannst Dir das gerne online ansehen:
http://web49.webbox555.server-home.org/ ... p?idcat=36
Login + PW sind noch Default: admin / admin

Ich kann mir gar nicht vorstellen, was da falsch ist...

Gruß
Hippo

xmurrix
Beiträge: 3149
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Beitrag von xmurrix » Sa 2. Aug 2008, 20:36

Hippo hat geschrieben:...
Ich glaube, mein Problem ist viel banaler: Ich habe gar keine eigene Module erstellt, sondern arbeite bisher nur mit dem Standardinhalten, die mit der Version 4.8.6 geliefert werden:
...
Das Einbinden eines Artikels in einen Anderen kann unter manchen Umständen zu Problemen führen, auch wenn du das mit den Standardinhalten machst. Der Beispielmandant mit seinen Modulen ist auch nur als solches gedacht, soll heißen, es funktioniert alles soweit, aber nicht alles Machbare.

Dazu gehört das Modul Article_Include, der bindet einen Artikel in ein Vorhandenes ein, wenn beide Artikel die gleichen Module haben, und die Module enthalten Funktionen/Klassen, werden diese dann mehrfach Deklariert, das quitiert dann PHP mit einem Fehler.

Entweder der einzubindende Artikel enthält keine Module, in denen Funktionen/Klassen vorkommen, die schon im Hauptartikel vorkommen, oder du lagerst die betreffenden Funktionen in eine Datei, die dann mit cInclude eingebunden werden. Du kannst z. B. in /cms/includes/ eine functions.php anlegen, und die Funktion toTpl aus dem Modul Navigation_Main darin ablegen. Dann brauchst du im Modul Navigation_Main nur die Datei mit cInclude('frontend', 'includes/functions.php') einbinden. So sollte es funktionieren...

Mein Vorschlag mit dem if-Zweig hat nicht geklappt, kann den Grund dafür momentan nicht sagen.

Gruß
xmurrix

Hippo
Beiträge: 8
Registriert: Do 22. Mai 2008, 10:51
Kontaktdaten:

Beitrag von Hippo » Sa 2. Aug 2008, 20:58

Ich möchte eigentlich gar nichts ungewöhnliches:

Im rechten Teil ("Spalte 3") möchte ich einen Kasten haben, in den ich Text einbaue, der auf jeder Seite gleich sein soll.
Das sollte doch ein Standard sein, oder?

In die selbe Richtung geht die Frage, wie ich den TEASER einstellen kann. Wir reden doch hier von gleichen Funktionalitäten..
In dem Admistrator-Handbuch ist dieses jedoch nicht beschrieben...

Gruß
Hippo

xmurrix hat geschrieben:
Hippo hat geschrieben:...
werden:
...
Das Einbinden eines Artikels in einen Anderen kann unter manchen Umständen zu Problemen führen, auch wenn du das mit den Standardinhalten machst. Der Beispielmandant mit seinen Modulen ist auch nur als solches gedacht, soll heißen, es funktioniert alles soweit, aber nicht alles Machbare.

xmurrix
Beiträge: 3149
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Beitrag von xmurrix » Sa 2. Aug 2008, 22:03

Lege ein neues Layout mit folgendem Code an:

Code: Alles auswählen

<!--start:content-->
<container id="10" name="Text" types="Content" mode="optional" default="">Content 1</container>
<!--end:content-->
Dann erstellst du ein Template, dass das Layout verwendet.

Die Artikel für Teaser legst du in einer Kategorie an, die am besten außerhalb der Hauptnavigation liegt.
Da es nicht vollständige HTML-Seiten sind, sondern nur den eingegeben Text enthalten, sollten sie in einer Kategorie liegen, dessen Inhalt nicht gesucht wird.

Diese Artikel kannst du dann über das Modul Article_Include einbinden. Wenn du das in der Template-Vorkonfiguration einstellst, werden die Teaser dann auf allen Seiten angezeigt, die das Template verwenden.

Eine andere Lösung fällt mir im Moment nicht ein, vielleicht gibt es noch einen besseren Vorschlag aus der Community.

Gruß
xmurrix

Hippo
Beiträge: 8
Registriert: Do 22. Mai 2008, 10:51
Kontaktdaten:

Beitrag von Hippo » So 3. Aug 2008, 08:48

Hallo Xmurrix,

das habe ich jetzt gemacht:

LAYOUT
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>titel</title>
<meta nttp-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8">
</head>

<body>
<container id="10" name="Text" types="Content" mode="optional" default="">Content 1</container>

</body>
</html>

/LAYOUT


Das dann generierte TEMPLATE hat nur ein Feld mit TEXT.

Ich lege eine Beispielseite an: "Test für Teaser", z.B unter "Metanavigation" und verwende das neue Template.

Wenn ich nun meine STANDARD-Template so gestalte, dass per ARTICLE_INCLUDE ie Seite "Test für Teaser" angezeigt werden soll, dann bekomme ich nix: keine Anzeige und keinen Fehler....
Was kann da denn los sein?

Es steht das Angebot, sich das Dilemma online anzusehen (Testplatform).
Gruß
Hippo

xmurrix
Beiträge: 3149
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Beitrag von xmurrix » So 3. Aug 2008, 11:48

Habe es auf deiner Testinastallation soweit vorbereitet.
By the way: Die Zugangsdaten solltest du nicht öffentlich jedem Zugänglich machen. Es gibt genug kranke Köpfe da draußen, denen es langweilig ist und die dann anderen Schaden anrichten - Also am Besten das Login wieder ändern.

Das Layout "NurText" musste etwas angepasst werden, es haben die Platzhalter "<!--start:content-->" und "<!--end:content-->" gefehlt. Sonst kann das Modul Article_Include den Content nicht extahieren.

Es gibt ein Template "Text", sowie eine Kategorie "Teaser" unter "Systemseiten", mit einem Beispielartikel. Das Layout "NurText" muss noch etwas angepasst werden, weil der Content in Artikeln, die auf das Layout "NurText" basieren, links oben erscheint. Solange die auf das Layout "NurText" basierenden Artikel nie auf der Webseite direkt angezeigt werden, ist das nicht weiter schlimm...

Unter "News Thorsten" ist der Besispielartikel über Article_Include eingebunden.

Ich hoffe, dass das für dich als grobes Beispiel für deine weiteren Gehversuche in Contenido ausereicht.

Alternativ kann ich dir folgende Module empfehlen, die viel mehr können, als das Beispielmodul Article_Include:
- Multiple Article Teaser/Mehrfachartikelvorschau
- Standard-Artikelliste Advanced
Diese Module sind zwar für Contenido 4.6.x, sollten aber auch mit 4.8.x funktionieren.

Gruß
xmurrix

Hippo
Beiträge: 8
Registriert: Do 22. Mai 2008, 10:51
Kontaktdaten:

Beitrag von Hippo » So 21. Sep 2008, 20:16

Hallo Xmurrix,

entschuldige, daß ich so lange keine Antwort gesendet habe:
Deine Hilfe war sehr detailliert und hat mir geholfen!
Ich wäre nie auf diesen Tipp mit "startcontent" gekommen!!! Wo kann man so etwas eigentlich nachlesen? Gibts keine zusammenfassende Beschreibung? Ich habe gesucht und nichts gefunden?

Ich habe mich sehr gefreut und möchte mich gerne revangieren. Wenn Du mir Deine Adresse mailst, kommt etwas ins Haus....

Mit herzlichem Gruß
Hippo

Das Layout "NurText" musste etwas angepasst werden, es haben die Platzhalter "<!--start:content-->" und "<!--end:content-->" gefehlt. Sonst kann das Modul Article_Include den Content nicht extahieren.

Gesperrt