(gelöst) Url Link (permalink) unter Inhaltstyp
Eingetragen von firstlevel (519)
am 30.12.2010 - 01:05 Uhr in
am 30.12.2010 - 01:05 Uhr in
Servus,
ich kenne das Modul Permalink, welches aber nicht das ist was ich suche.
Wie kriege ich es am Besten hin das ich die IstUrl unter einem Inhalstyp anzeige, am besten in einem Formularfeld.
Danke für einen Tipp
- Anmelden oder Registrieren um Kommentare zu schreiben
Meinst du die URL zum
am 30.12.2010 - 01:14 Uhr
Meinst du die URL zum Node?
Dann würde ich das ganze in eine node.tpl.php packen. Einfach die base_url laden und dann damit und mit der Node-ID einen Link erstellen und unter dem Node-Body ausgeben. Kann man natürlich auch in ein Formular-Feld packen, dazu muss man einfach ein kleines Formular mit der Form API erstellen und darunter ausgeben.
Ja meine ich. Wie macht man
am 01.01.2011 - 17:43 Uhr
Ja meine ich.
Wie macht man so etwas?
Drupal im Einsatz: Bachblueten-Ratgeber.de - Schuessler-Salze-Ratgeber.de - Tomaten24.de
coming soon: Selbstversorger.com - Bio-Lieferdienste.de
In der node.tpl.php deines
am 01.01.2011 - 18:13 Uhr
In der node.tpl.php deines Themes befindet sich eine solche Zeile:
<div class="content clear-block">
<?php print $content ?>
</div>
Die könntest du einfach wie folgt ändern:
<div class="content clear-block">
<?php
global $base_url;
$nid = $node->nid;
print $content;
print "<br /><br />";
print "$base_url/node/$nid";
?>
</div>
Das würde auf jeden Fall funktionieren, damit würde unter dem Inhalt des Nodes die URL zum Node ausgegeben. Das könnte man dann wie gesagt noch in ein Formular-Feld packen, dazu solltest du dich mit der Form API vertraut machen, ist keine große Sache.
Aber eigentlich ist dieser Weg nicht so der Wahre, weil man Logik und Template trennen sollte. Sinnvoller wäre es also, in die template.php deines Themes zu gehen und direkt über eine Preprocess-Funktion den auszugebenden Content zu ändern, würde ich sagen. Die Funktion template_preprocess_node würde sich da vermutlich anbieten. Darin könntest du einfach $vars['content'] ändern und auch die Formular-Funktion einbinden, ohne das Node-Template selbst anzurühren. Das dürfte der bessere Weg sein, der Code oben verdeutlicht lediglich die grobe vorgehensweise.
l()
am 01.01.2011 - 19:01 Uhr
print "$base_url/node/$nid";
Bitte nicht so.
Es gibt die Funktion [api:l:6], die man dafür wunderbar verwenden kann.
<?php print l(t('permanent link'), "node/{$node->nid}"); ?>
Und wenn man verhindern möchte, dass der Pfad-Alias ausgegeben wird (man also den Link als "node/1" haben möchte):
<?php print l(t('permanent link'), "node/{$node->nid}", array('alias' => TRUE)); ?>
hth,
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Ich hatte extra nicht die
am 01.01.2011 - 19:06 Uhr
Ich hatte extra nicht die l-Funktion genommen, weil diese Funktion einem doch einen fertigen a-Tag liefert, oder?
Wenn man also direkt die URL und keinen Link ausgeben möchte, ist die l-Funktion nicht sinnvoll, oder täusche ich mich da?
url()
am 01.01.2011 - 19:17 Uhr
Wenn man also direkt die URL und keinen Link ausgeben möchte, ist die l-Funktion nicht sinnvoll, oder täusche ich mich da?
Nein, da täuscht Du Dich nicht. In diesem Fall geht man einfach "eine Ebene höher" und verwendet [api:url:6].
<?php print url("node/{$node->nid}", array('alias' => TRUE)); ?>
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Stimmt natürlich, an die
am 01.01.2011 - 21:03 Uhr
Stimmt natürlich, an die url()-Funktion hatte ich gar nicht gedacht.
Übrigens, @firstlevel, falls du dich mit "dem ganzen Kram" nicht so auskennst, kannst du vorher auch mal das Permalink-Modul probieren.
Hi, danke für eure
am 02.01.2011 - 23:46 Uhr
Hi,
danke für eure Informationen. Die entsprechend in der node.tpl anzupassen ist kein Problem. Nur die Ausgabe ist noch nicht gantz rund, wofür ich mich einen tick zu wenig auskennen.
Die Ausgabe selbst soll der komplette Link sein, nicht der Link zu. Ungefähr wie in diesem Beispiel ganz unten "Permanenter Link zu dieser"
Drupal im Einsatz: Bachblueten-Ratgeber.de - Schuessler-Salze-Ratgeber.de - Tomaten24.de
coming soon: Selbstversorger.com - Bio-Lieferdienste.de
Wie gesagt, mach's lieber
am 03.01.2011 - 01:09 Uhr
Wie gesagt, mach's lieber über die template.php
Dann schau dir die Form API an, damit bekommst du ganz einfach so ein Formular-Feld hin und mit der url-Funktion, die Stefan genannt hat, bekommst du problemlos die gesamte URL zu diesem Node hin.
Hi, noch habe ich ein kleines
am 03.01.2011 - 15:54 Uhr
Hi,
noch habe ich ein kleines Fragezeichen, aber vielen Dank für eure Tipps. Ich versuche mich da mal durchzuwühlen und schaue wie weit ich komme.
Ich es mal mit der "$node_url" versucht, aber da wird noch nicht ganz ein Schuh draus...
Drupal im Einsatz: Bachblueten-Ratgeber.de - Schuessler-Salze-Ratgeber.de - Tomaten24.de
coming soon: Selbstversorger.com - Bio-Lieferdienste.de