Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

Variablen in node-content Erstellung verwenden

Eingetragen von vistree (238)
am 15.07.2008 - 14:20 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

Hallo,
wie kann ich in einem Fließtext, bei neu erzeugtem Content, variablen Text einbinden?
So möchte ich z.B. den Seitennamen ($site_name) in den Text einbauen. Super wäre auch das Einbinden von anderen Variablen, die ich gerne in Abhängigkeit von dem Seitennamen auswählen können möchte.
Wie geht das? Habe folgendes schon versucht: node - Eingabeformat auf php dann im Text an der gewünschten Stelle

<?php
print $site_name
?>
.
Da kommt dann aber gar nichts. Es wäre aber noch besser, wenn man im Editor z.B. ein Schlüsselwort eingeben könnte, dass dann automatisch umgesetzt wird (da auch eher unbedarfte Text erzeugen können sollen).

Jemand eine Idee für mich?

‹ Daten direkt in mysql bearbeiten Theme wird nicht angezeigt ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Teillösung gefunden

Eingetragen von vistree (238)
am 15.07.2008 - 14:49 Uhr

... für den Seitennamen habe ich eine Lösung gefunden. Man muss nur den php-code folgendermaßen anpassen, dann funktioniert das Einfügen in den content eines node (nicht vergessen das Eingabeformat auf php umzustellen).

<?php
print variable_get('site_name',false)
?>

Ist natürlich für den unbedarften Nutzer keine echte Lösung - von daher fänd ich es spannend hier doch noch eure Meinungg zu hören.
Viele Grüße

Kai

  • Anmelden oder Registrieren um Kommentare zu schreiben

Weiss nicht, ob das wirklich

Eingetragen von netzkoop (1820)
am 15.07.2008 - 15:45 Uhr

Weiss nicht, ob das wirklich funktioniert...
Vielleicht könntest du mittels BUEditor http://ufku.com/drupal/bueditor einen Button erzeugen.

Findest du PHP-Eingabeformat für unbedarfte Nutzer nicht zu unsicher?
LG

  • Anmelden oder Registrieren um Kommentare zu schreiben

Filter

Eingetragen von tumblingmug (872)
am 15.07.2008 - 15:57 Uhr

Du suchst mit Deiner Aufgabenstellung nach einer typischen Filteranwendung. Sieh Dir mal Customfilter an.

EDIT: Bin mir inzwischen nicht ganz sicher, ob Dich richtig verstanden habe. Cuzstomfilter nimmt (auch dynamisch) Textersetzungen für Platzhalter vor. Vielleicht suchst Du ja aber eine andere Form der Textumgestaltung, die auch über die Template-Dateien möglich wäre. So kann ich natürlich Variablen in eine node.tpl.php injizieren, die dort (bei Vorhandensein) ausgegeben werden bzw. auch IF ... ELSE - Anweisungen unterbringen. Werd' mal konkreter.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo Ihr beiden! Danke für

Eingetragen von vistree (238)
am 15.07.2008 - 16:52 Uhr

Hallo Ihr beiden!
Danke für die Antworten.
Ja, prinzipiell ist mir das PHP-Eingabeformat zu unsicher und der von mir beschriebene Weg auch zu umständlich (für normale Nutzer).
Was soll das ganze: Ich sitze gerade an einem Multidomain-Projekt. Dort sind ca. 70% des Content für alle Domains gleich. Alle Domains haben einen Seitennamen (sitename) der immer gleich aufgebaut ist. Jetzt möchte ich gerne erreichen, dass auch bei dem Domain-übergreifenden Content kleine "Lokalisierungen" im Content möglich sind. Dazu möchte ich jetzt aber den entsprechenden Content nicht X-mal kopieren, nur um z.B. aus "Willkommen beim Bier" ein "Willkommen bei ner Cola" zu machen (ist vielleicht ein nicht ganz so schönes Beispiel ;-) Ganz konkret möchte ich den sitename im normalen Fließtest verwenden, um dann z.B. auf der domain1.de "Herzlich Willkommen auf den Seiten von domain1-Name" und auf ner anderen dann "Herzlich Willkommen auf den Seiten von domain2-Name" auszugeben. Mit dem sitename lässt sich da schon was machen. Nun sind die Seiten regional und es wäre natürlich super, wenn ich z.B. den Domainnamen noch weitere regionale Variablen, wie z.B. einen Stadtnamen zuordnen könnte. Dann wäre statt "Das regionale Angebot von Berlin ist wunderbar" auch ein "Das regionale Angebot von Hamburg ist wunderbar".

Also noch mal ganz klar gesagt: ich habe viele Domains mit gemeinsamen Content. Ein Teil des Contents wird gefilter nur bestimmten Domains zugeführt (verwende dazu übrigens das Modul domain access - ist super!).

Ja und nun wäre es schön, wenn ich den Nutzern sagen könnte, "also, wenn du einen Text schreibst, dann kannst du die und jene Variable verwenden, die dann auf domain 1 mit X und auf doamin2 mit Y ersetzt wird.

Das mit BUeditor und eigenem Knopf ist ja vielleicht schon ein Weg - aber nur über PHP-Freigabe zu realisiern, oder?

Viele Grüße

Kai

  • Anmelden oder Registrieren um Kommentare zu schreiben

Im Prinzip hast du alle

Eingetragen von netzkoop (1820)
am 15.07.2008 - 17:17 Uhr

Im Prinzip hast du alle Parameter in der URL, mittels Taxonomy? Dann könntest du eigentlich diese in der node.tpl.php abfragen und einen Platzhalter wie [sitename] durch den entsprechenden Taxonomy Term ersetzen.

Wie allerdings stellst du sicher, dass User nicht trotzdem Hamburg als Wort in einen Beitrag schreiben? Ist das ein redaktionelles Team?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hmm, ja. Aber nur im ersten

Eingetragen von vistree (238)
am 15.07.2008 - 18:14 Uhr

Hmm, ja. Aber nur im ersten Teil der URL, also ohne Argumente!!! Aber wie gesagt, auch im sitename.
Wie würde man das in der node denn anstellen? Dort einfach irgendwo ein php-Funktion, die die Variable setzt?
Also z.B.

<?php

$ort
= variable_get('site_name',false);

?>

Und wie bekomme ich $ort dann in den content-editor (fckeditor)? Muss das Eingabeformat dann auch auf php stehen?
Und ja, das Team ist ein redaktionelles (zu mindest für die hier relevanten Inhaltsseiten).

Grüße

Kai

  • Anmelden oder Registrieren um Kommentare zu schreiben

Mit Filter

Eingetragen von tumblingmug (872)
am 15.07.2008 - 20:19 Uhr

Meines Erachtens wäre Cunstomfilter eine gute Lösung: ein Redakteur hat einige Platzhalter zur Verfügung wie [Ort], [Site] usw. und die schreibt er genau so in den Body hinein. In Customfilter legt man sich ein eigenes Filter-Set an und nennt es SiteVariables oder so was in der Art. In diesem Set bekommt jeder Platzhalter eine eigene Filterregel spendiert, was dann so aussieht wie im angehängten Beispiel (siehe jpg unten). Das Filterset wird dann unter dem für die Beitragserstellung zugedachten Eingabefilter für alle die Inhaltstypen aktiviert, für die man es braucht. Voila.

AnhangGröße
cust-filter.jpg 41.48 KB
  • Anmelden oder Registrieren um Kommentare zu schreiben

Hey, das sieht super aus!

Eingetragen von vistree (238)
am 15.07.2008 - 22:22 Uhr

Hey, das sieht super aus! Werde ich probieren!
Danke und einen schönen Abend

  • Anmelden oder Registrieren um Kommentare zu schreiben

Klasse, das funktioniert

Eingetragen von vistree (238)
am 16.07.2008 - 12:38 Uhr

Klasse, das funktioniert super. Einziger Wehrmuttropfen - ich muss bei den betroffenen Inhaltstypen doch das Eingabeformat auf PHP umstellen. Sonst wird der Ersetzungtext nicht dynamisch auf den verschiedenen Domains ausgewechselt, sondern bleibt immer auf dem der Erstellungs-Domain stehen.
Gibt es da noch einen Trick wie ich bei Full-HTML nur den php-Teil der Filterregeln freigeben kann? Dachte, ich würde das durch positionieren meines Filters an die erste Filterstelle erreichen - funktioniert so aber leider nicht ;-(

Gruß

  • Anmelden oder Registrieren um Kommentare zu schreiben

Custom Filter brauchen kein PHP als Eingabeformat

Eingetragen von quiptime (4972)
am 16.07.2008 - 13:36 Uhr
Zitat:

Einziger Wehrmuttropfen - ich muss bei den betroffenen Inhaltstypen doch das Eingabeformat auf PHP umstellen

Custom Filter setzen beim Node bearbeiten KEIN PHP-Code - Eingabeformat voraus.

Was Du tun kannst ist die erstellten Custom Filter einem normalen HTML - Eingabeformat zuzuordnen.

Beispiel:

Wobei "Insert Flickr images" ein Custom Filter ist.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo quiptime, die

Eingetragen von vistree (238)
am 16.07.2008 - 13:52 Uhr

Hallo quiptime,
die Zuordnung habe ich bereits so gemacht und auch ausprobiert. Habe meinen neuen Filter mit folgender Regel erstellt:

Name: portalersetzen
Pattern:  /\[portal\]/i

PHP-Code ON

Replacement text:
$portal = variable_get('site_name',false);
return $portal;

Wobei $portal der Name (Head-title) meiner Domains ist. In dem Text füge ich nun einfach [portal] ein und es wird korrekt in den Doaminnamen umgesetzt.

Den Filter habe ich sowohl bei dem Full-HTML als auch beim PHP-Eingabeformat zugeordnet.
Die Regel funktioniert auch beides Mal! Beim HTML-Filter aber nur nach dem Speichern der Seite.

Besuche ich die Seite bei Full-HTML-Eingabeformat über die Erstellerseite und eine beliebige andere Domain, so steht dort immer der Titel der Erstellerdomain.
Aktiviere ich das PHP-Eingabeformat, so wird korrekt auf allen Domains der korrekte Titel der aktiven Domain angezeigt. Aktiviere ich im Full-HTML-Eingabeformat zusätzlich den php-Filter, so funktioniert es auch dort.

Komisch, oder? Woran könnte das liegen?

Viele Grüße

  • Anmelden oder Registrieren um Kommentare zu schreiben

Umsortieren der einzelnen Filter innerhalb eines Eingabeformates

Eingetragen von quiptime (4972)
am 16.07.2008 - 14:28 Uhr

Eventuell hilft ein Umsortieren der einzelnen Filter innerhalb eines Eingabeformates.

Probiere mal, Deinen Custom Filter vor den Filter "HTML Korrektur" zu setzen. Und den PHP-Code Filter deaktivieren.

-------------
quiptime

Nur tote Fische schwimmen mit dem Strom.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Cache

Eingetragen von tumblingmug (872)
am 16.07.2008 - 14:33 Uhr
Zitat:

Aktiviere ich das PHP-Eingabeformat, so wird korrekt auf allen Domains der korrekte Titel der aktiven Domain angezeigt. Aktiviere ich im Full-HTML-Eingabeformat zusätzlich den php-Filter, so funktioniert es auch dort.

Komisch, oder? Woran könnte das liegen?

Nimm mal im Edit-Modus Deines Filtersets den Haken raus bei "Cache" und siehe, was sich tut.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Das war es!

Eingetragen von vistree (238)
am 16.07.2008 - 14:44 Uhr

Ha, tumblingmug, das war es! Nach dem ausschalten des Caches läuft es auch im Full-HTML-Eingabeformat.
So ist das ne super Lösung!
1000 Dank

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 1 Woche 6 Tagen
  • Hey danke
    vor 2 Wochen 12 Stunden
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 5 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 5 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 5 Wochen 6 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 13 Stunden

Statistik

Beiträge im Forum: 250233
Registrierte User: 20453

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 10 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association