[gelöst] Mehrere Felder in einem DIV, den DIV aber als Link auf den Beitrag
Eingetragen von deelite (468)
am 21.10.2010 - 17:13 Uhr in
am 21.10.2010 - 17:13 Uhr in
Hallo,
ich komme mal wieder nicht weiter.
Ich habe mehrere Felder eines Inhaltstyps in einem DIV (Template für einen View). Jetzt könnte ich ja jedes dieser Felder auf den Beitrag verlinken lassen. Allerdings hätte ich gern den gesamten darumliegenden DIV als Link auf den Beitrag.
Kann mir hierzu jemand helfen?
Vielen Dank schon mal fürs Lesen.
- Anmelden oder Registrieren um Kommentare zu schreiben
Hi, das ist ja mehr ein
am 21.10.2010 - 21:23 Uhr
Hi,
das ist ja mehr ein css-"Problem" hab mal Google bemüht (hättest Du auch machen können ;-) ) und Folgendes gefunden :
http://xhtmlforum.de/43766-link-href-xy-auf-komplettes-div.html
http://www.macuser.de/forum/f56/div-verlinken-437767/
http://csscreator.com/node/29293
habs jetzt nicht getestet, aber dort werden Lösungen beschrieben
gruss
drupalino
Sorry, wenn ich mich etwas
am 21.10.2010 - 23:10 Uhr
Sorry, wenn ich mich etwas unglücklich ausgedrückt habe, aber das HTML/CSS dazu ist mir hinreichend klar.
Ich weis nur absolut nicht, wie ich den Drupal-internen Link realisiere, also das Stück PHP dazu.
Gruß,
deelite
Zitat: Ich habe mehrere
am 21.10.2010 - 23:38 Uhr
Ich habe mehrere Felder eines Inhaltstyps in einem DIV (Template für einen View).
aber ich denke Du hast ein Template???? Da kannst Du das doch "wrappen"
gruss
drupalino
<a href="<?php print
am 22.10.2010 - 09:00 Uhr
<a href="<?php print $was_muss_ich_hier_reinschreiben_um_den_nachfolgenden_div_als_link_auf_den_beitrag_zu_wrappen?; ?>>
<div id="project_ov_text">
<span id="project_ov_text_inner">
<p class="teaser_kunde">
<?php print $label['field_teaser_kunde_cd']->content; ?>
<?php print $fields['field_teaser_kunde_cd_value']->content; ?>
</p>
<p class="teaser_titel">
<?php print $fields['field_teaser_titel_cd_value']->content; ?>
</p>
<p class="teaser_agentur">
<?php print $fields['field_teaser_agentur_cd_value']->content; ?>
</p>
</span>
</div>
</a>
Ganz oben steht meine Frage nochmal. Ich weiß dann wirklich nicht mehr, wie ich sie noch stellen könnte.
Wie immer vielen Dank vorab fürs lesen.
Schieb weil dringend. ;-)
am 22.10.2010 - 14:52 Uhr
Schieb weil dringend. ;-)
Du musst im View auch die nid
am 22.10.2010 - 20:21 Uhr
Du musst im View auch die nid ausgeben lassen, genauso wie Deine beiden anderen Felder, dann hast Du die Node.ID (nid) und kannst die in Dein href packen.
gruss
drupalino
Ich weiß, dass ich die
am 24.10.2010 - 20:16 Uhr
Ich weiß, dass ich die Node-ID oder den Pfad nehmen kann.
Mir stellt sich jedoch die Frage: WAS MUSS ICH SCHREIBEN, UM DIE NODE-ID ODER DEN PFAD IN DEN HREF ZU BEKOMMEN?
Ich habe den Link jetzt so
am 24.10.2010 - 20:56 Uhr
Ich habe den Link jetzt so geschrieben:
<a href="<?php print $node->path; ?>">
... und bin der Meinung, dass es so funktionieren sollte.
Allerdings wird im Quelltext
<a href="">
ausgegeben.Bitte helft mir!!!
<?php $output =
am 24.10.2010 - 23:20 Uhr
<?php
$output = 'deinhtml';
print l($output, 'node/' . $node->nid, array('html' => TRUE));
?>
Wobei das aber semantisch nicht korrekt ist und kein valides HTML ist! Divs in einem A element sind meines Wissens nicht erlaubt.
----------------------------------
http://www.drupal-austria.at
http://groups.drupal.org/austria
http://www.drupalcamp.at
Vielen Dank für die Mühe
am 25.10.2010 - 07:35 Uhr
Vielen Dank für die Mühe criz.
Allerdings stellt sich mir jetzt noch ein weiteres Problem. Da das html nicht ausschließlich html ist, erhalte ich ein
syntax error, unexpected T_STRING ...
Genau in der Zeile, wo das nächste PHP kommt. In dem Block werden ja auch noch Felder ausgegeben. Der komplette Code sieht jetzt so aus:
<?php print '<div class="proj_ov" style="background:url(' . base_path() . $fields['field_thumb_cd_fid']->content . ') no-repeat;">'; ?>
<div id="project_ov_text">
<?php $output = '<span id="project_ov_text_inner">
<p class="teaser_titel">
<?php print $fields['field_teaser_titel_cd_value']->content; ?>
</p>
<p class="teaser_kunde">
<span id="label_teaser_kunde">
<?php print $fields['field_teaser_kunde_cd_value']->label; ?>:
</span>
<span id="output_teaser_kunde">
<?php print $fields['field_teaser_kunde_cd_value']->content; ?>
</span>
</p>
<p class="teaser_agentur">
<span id="label_teaser_agentur">
<?php print $fields['field_teaser_agentur_cd_value']->label; ?>:
</span>
<span id="output_teaser_agentur">
<?php print $fields['field_teaser_agentur_cd_value']->content; ?>
</span>
</p>
</span>'; print l($output, 'node/' . $node->nid, array('html' => TRUE)); ?>
</div>
</div>
Dieses Problem stellt sich mir als noch größer dar. Kann ich dazu nochmals Hilfe bekommen?
Das mit dem DIV als Link hab ich mal schon um ein SPAM gelegt. Sollte das auch nicht als Link funktionieren, fällt mir da schon eine Lösung ein. Im IE hatte ich bereits festgestellt, dass ein DIV als Link nicht hinhaut.
Zitat: <?php $output = '<span
am 25.10.2010 - 13:26 Uhr
<?php $output = '<span id="project_ov_text_inner">
<p class="teaser_titel">
<?php print $fields['field_teaser_titel_cd_value']->content; ?>
</p>
Du darfst die PHP-Klammern
<?php .... ?>
nicht schachteln. Wenn die äußere aktiv ist, ist die innere überflüssig.Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Es tut mir leid, aber von PHP
am 26.10.2010 - 13:23 Uhr
Es tut mir leid, aber von PHP habe ich wahrhaftig keinerlei Ahnung. Aus diesem Grund muss ich Euch hier mal noch weiter nerven. Peinlich ist das schon...
Ich weiß wirklich nicht, wie ich den Code zusammensetzen muss.
Wie bringe ich die einzelnen Felder hintereinander zur Ausgabe?
Skype? Schick mal ne PM!
am 29.10.2010 - 17:03 Uhr
Skype? Schick mal ne PM!
gruss
drupalino
Herzlichen Dank an
am 01.11.2010 - 16:56 Uhr
Herzlichen Dank an drupalino!
Manchmal kann es einfacher sein, als man denkt...
Die Lösung:
Im View die Node-ID oder den Node-Pfad als Feld mit ausgeben lassen.
In der .tpl für den View gebe ich die ID oder den Pfad als Feld mit aus und setze den Link darum. Das sieht dann so aus:
<a href="<?php print $fields['path']->content; ?>">
<span id="project_ov_text">
Alles, was in den SPAN drinstehen soll (auch andere Felder).
</span>
</a>
Aus den anfänglichen DIV ist ein SPAN geworden. Aber auch den gibt ja der IE nicht als Link aus. Diese Lösung steht aber noch auf einem anderen Blatt geschrieben...