per PHP setzen

Fragen zum Erstellen von Templates für webEdition.
deemes

per PHP setzen

Beitragvon deemes » Di 19. Jun 2007, 14:45

Hallo,

wie setze ich we:title per PHP? Mir geht es nicht darum den Titel auf der Seite auszugeben, sondern dem Redakteur abhängig von der Kategorie und Sprache (Wird über Dokumenten-Typen geregelt) einen entsprechenden Titel vorzugeben.

Ich habe schon folgendes versucht:

<we:title><?=$Title?></we:title>
und
<we:title><?=$Title?></we:title>

Bei beiden Varianten steht im entsprechenden Titel-Feld der Seite
<?= ?>
Sonst nichts.

<we:title>$Title</we:title>
und
<we:title>$Title</we:title>

Bei diesen beiden Varianten bleibt das entsprechende Feld komplett leer.

Welche Möglichkeiten habe ich noch?

mobby
Senior Member
Beiträge: 1164
Registriert: Do 1. Sep 2005, 05:07

Beitragvon mobby » Di 19. Jun 2007, 15:37

Moin,
es gibt auch eine Möglichkeit, ohne extra was mit PHP zu basteln. <we:ifWebEdition> und <we:var> helfen dabei:
Code: Alles auswählen
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title><we:var type="text" name="Headline" /></title>
<we:description/>
<we:keywords/>
<we:charset defined="ISO-8859-1">ISO-8859-1</we:charset>
</head>
<body>
<we:ifWebEdition>
<we:input type="text" name="Headline" size="60"/>
</we:ifWebEdition>
<p>
<we:textarea name="Content" width="250" height="100" autobr="true" wysiwyg="true"/>
</p>
</body>
</html>
Viele Grüße
Mobby

webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)

Liquid
Senior Member
Beiträge: 1172
Registriert: Do 8. Jan 2004, 12:31
Wohnort: Karlsruhe

Beitragvon Liquid » Di 19. Jun 2007, 15:38

Meistens sind es ja die blöden Sachen,

hast du es mal mit
Code: Alles auswählen
<we:title><?php echo $Title; ?></we:title>
versucht?!
Gruß Liquid

deemes

Beitragvon deemes » Di 19. Jun 2007, 16:17

Danke euch beiden.

@Liquid
Nein, das ändert leider nichts. Das Ergebnis im Eingabefeld ist dann
<?php echo ?>
@mobby
Ist mir klar dass man ein <title>-Tag auch selbst mittels eines we:input erstellen kann. Ich will aber den Inhalt des Title-Eingabefeldes dynamisch vorgeben.

Vlt. sollte ich erwähnen dass ich in einem bestehenden Projekt mit derzeit ca. 1200 Seiten arbeite. In diesen 1200 Seiten ist we:title gefüllt. Wenn ich jetzt anfange den Title über ein eigenes we:input zu definieren hab ich einen Haufen Arbeit. Suche, Kategorie-Listings etc. muss dann alles angepasst werden. Dann darf ich allen Redakteuren in mehreren Sprachen erklären warum sie jetzt auf einmal ein anderes Feld für den Titel benutzen müsssen.
Ausserdem finde ich es nicht die glücklichste Lösung um das System herum zu arbeiten. Es gibt ein we:title-Tag, also will ich es auch verwenden. ;-)

mobby
Senior Member
Beiträge: 1164
Registriert: Do 1. Sep 2005, 05:07

Beitragvon mobby » Di 19. Jun 2007, 18:43

Moin,
so ganz verstehe ich das ganze nicht. Wie ist das Feld <we:title> gefüllt? Kannst du einen Codeausschnitt geben?
Viele Grüße
Mobby

webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)

deemes

Beitragvon deemes » Mi 20. Jun 2007, 12:20

Klar. :)

Also, das we:title sieht ganz simpel so aus:

Code: Alles auswählen

<we:title><?=$Global_Title?></we:title>
Das hat zur Folge dass wenn ich ein neues Dokument anlege der Inhalt des Title-Eingabefeldes so aussieht
<?= ?>
Die Variable $Global_Title wird so zusammengebaut:

Am Anfang des Master-Templates wird die Sprache abgefragt. Dies geschieht über we:ifWorkspace. Abhängig von der Sprache wird ein Template eingebunden in dem mehrere Variablen definiert werden, so auch $Global_Title. Wir sagen mal die Variable enthält jetzt einfach den String "Deutscher Titel".

Nun wird wieder im Master-Template die Template-ID abgefragt und abhängig davon die Variable $Global_Title erweitert. Dies sieht verkürzt etwa so aus:

Code: Alles auswählen

         switch($GLOBALS['WE_DOC_ID']) { //Template-ID abfragen und Titel zusammenbauen
            case 260: //karriere_detail.tmpl
               $Global_Title = $GLOBALS['we_doc']->getElement('Label').' - '.$Global_Title;
               break;
            case 264: //pressemeldung.tmpl
               $Global_Title = $GLOBALS['we_doc']->getElement('Headline').' - '.$Global_Title;
               break;
            case 268: //publikation.tmpl
               $Global_Title = $GLOBALS['we_doc']->getElement('Titel').' - '.$Global_Title;
               break;
            case 274: //termin.tmpl
               $Global_Title = $GLOBALS['we_doc']->getElement('Veranstaltungsname').' - '.$Global_Title;
               break;
            //usw...
         }
Der Titel ist nun fertig und müsste nur noch in das we:title eingebunden werden. :rolleyes:

mobby
Senior Member
Beiträge: 1164
Registriert: Do 1. Sep 2005, 05:07

Beitragvon mobby » Mi 20. Jun 2007, 12:38

Und was macht <title><?php echo = $Global_Title;?></title>
Viele Grüße
Mobby

webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)

deemes

Beitragvon deemes » Mi 20. Jun 2007, 13:03

Das macht mit Sicherheit genau das was man davon erwarten würde, nur eben nicht das was ich gerne möchte. ;) *

Ich möchte dass der generierte Titel im Eingabefeld für den Titel (Im Tab Eigenschaften im Abschnitt Meta-Infos) dem Redakteur beim Erstellen der Seite vorgegeben wird. Dieser kannn den Titel dann manuell anpassen oder er belässt es dabei.

*Bin mir nicht sicher ob das nicht sogar einen Parse-Error erzeugt. Habe noch nie die Schreibweise 'echo =' gesehen. Ist aber unerheblich da das Ergebnis ja nicht das macht was ich möchte.

mobby
Senior Member
Beiträge: 1164
Registriert: Do 1. Sep 2005, 05:07

Beitragvon mobby » Mi 20. Jun 2007, 13:08

echo ohne = iss klar ;-)
Viele Grüße
Mobby

webEdition 8.1.0 (Ahlberg) (8.1.0.0, Revision: 10599)

deemes

Beitragvon deemes » Mi 20. Jun 2007, 13:15

Gerade hat's Klak gemacht! :-))

Code: Alles auswählen

<we:title><we:var type="global" name="Global_Title" /></we:title>

ulinger
Member
Beiträge: 41
Registriert: Fr 29. Okt 2004, 10:11
Wohnort: Leipzig / Mexico D.F.

we-Volltextsuche und we:title

Beitragvon ulinger » Do 15. Mai 2008, 01:51

Ich habe mich auch gerade mit dem Problem herumgeschlagen. Ich wollte den Inhalt eines Textarea als Titel verwenden. In der Seite hat es mir die Variable wie erwartet angezeigt. Zwischen die <we:title> - Tags gesetzt wurde nichts angezeigt. Ich habe habe dann <we:title> durch den html-Tag <title> ersetzt, und es funktionierte.

Jetzt meine Frage dazu: Bei der we-Volltextsuche wird immer auf den <we:title> - Tag zurückgegriffen. Funktioniert das auch mit dem html-Tag?


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

Mitglieder in diesem Forum: Ahrefs [Bot] und 11 Gäste