[gelöst] (vorerst ;-) Anordnung der Service-Links

am 15.09.2009 - 21:07 Uhr in
Hallo,
ich habe mir das Modul "Service-Links" für Drupal 6 installiert. Es funktioniert. Allerdings werden die Service-Links bei einem Inhaltstyp unter dem Titel und über dem Text angezeigt, bei einem anderen Inhaltstyp unter dem Text. Ich finde leider nirgendwo eine Einstellung wo ich hier die Reihenfolge fest und verbindlich verändern könnte. Also weder über Inhaltstyp und Felder sortieren noch in der Node.tpl.php. Selbst wenn ich im Inhaltstyp die Reihenfolge der Felder verschiebe und speicher. Erscheinen die Service Links in der falschen nicht gewünschten Reihenfolge.
Hat jemand vielleicht nen Tipp für mich wo ich das ändern kann. Damit die Service Links unter dem Text aber über den Kommentaren angezeigt werden. Ohne das ich irgendwelche CSS Verrenkungen machen muß...
Selbst wenn ich, wie es in der template.php des Modules steht:
<?php
print $service_links
?>
in der node.tpl.php Datei einfüge gibt es keine verbindlichen Veränderung.
------
Ein Weg bildet sich dadurch,
das er begangen wird.
- Anmelden oder Registrieren um Kommentare zu schreiben
Einblendung der Service Links
am 17.10.2009 - 10:33 Uhr
Scheinbar ist wohl nur eine Einblendung ober- oder unterhalb des Inhalts möglich. Die Einstellung hierfür ist im Modul unter Service Links in Links vorzunehmen. Hier muss man für die obere Ansicht "Teaser view" und für die Ansicht unterhalb des Inhalts "Full-page-view" wählen.
Leider werden die "Service-Links" aber bei unterschiedlichen Inhaltstypen noch immer nicht in einer einheitlichen Reihenfolge dargestellt. Über diese Einstellung kann nur die grobe Ansicht der ServiceLinks (über oder unter den Link-Feldern für Kommentare etc.)festgelegt werden. Warum? Wird die Einstellung der Gewichtung die man bei den Feldern im Inhaltstyp speichert möglicherweise noch irgendwo anders festgelegt bzw. gespeichert? Und wenn ja wo? Und wie kann man diese dann verbindlich festlegen? Dort etwas zu verändern scheint ja, bei den Service-Links nichts zu bringen...
------
Ein Weg bildet sich dadurch,
das er begangen wird.
------
Ein Weg bildet sich dadurch,
das er begangen wird.
Einblendung der Service_links geklärt
am 26.10.2009 - 09:44 Uhr
So..., da bei mir die neuere 2.0´er-.dev-Vorabversion nicht ohne Fehlermeldungen funktioniert. Bleibe ich bei der alten 1.0´er-Version. Dort habe ich mir jetzt erst einmal mit
<?php
print "<pre>";
print_r($node);
print "</pre>";
?>
die Wichtung (weight) der einzelnen Inhaltsfelder angeschaut und dann das Gewicht der Service-Links, direkt in der Moduldatei "service_links.module" geändert. Dort ist in den Zeilen 214, 222, 230 und 236 das Gewicht und damit die Reihenfolge der Darstellung festgelegt.
Das ist zwar nicht unbedingt der beste Drupal-Weg, aber im fertigen neuen Modul soll das ja bereits alles integriert sein. Also mache ich das jetzt erst einmal so.
Mal sehen, es soll ja nichts länger halten als ein Provisorium ;-)
------
Ein Weg bildet sich dadurch,
das er begangen wird.
------
Ein Weg bildet sich dadurch,
das er begangen wird.
Alternative: Händisch
am 19.12.2009 - 20:44 Uhr
Ich bin mit dem Service-Links Modul auch nicht ganz so zufrieden, Gründe dafür ist unter anderem das sich die Service-Links im gleichen Fenster öffnen, das URLs nicht immer richtig übergeben werden, etc...
Kann sein das das daran liegt das ich eine deutsche Version benutze und nicht die aktuelle von drupal.org.
Was mir auch nicht so gut gefällt ist der Facebook Link, hier ist ein ganzes Browserfenster einfach zu überdimensioniert, besser geht es mit einem kleinen Popup von der Größe 550px x 300px.
Ich habe desshalb anstatt in der node.tpl.php über die Funktion
<?php
print $service_links
?>
das ganze aufzurufen einfach den kompletten HTML-Code eingegeben.
<div class="service-links"><div class="item-list">
<ul>
<li class="first">
<h2>Social Bookmarks: </h2>
</li>
<li class="first">
<a href="http://www.mister-wong.de/index.php?action=addurl&bm_url=http://www.themarket2010.de<?php print $node_url; ?>&bm_description=<?php print $title; ?>" title="Add to Mister Wong." rel="nofollow" target="_blank">
<img src="/images/mrwong.gif" alt="Wong" />
</a>
</li>
<li class="first">
<a href="http://www.webnews.de/einstellen?url=http://www.themarket2010.de<?php print $node_url; ?>&title=<?php print $title; ?>" title="Add to Webnews.de." rel="nofollow" target="_blank" >
<img src="/images/webnews.gif" alt="Webnews" />
</a>
</li>
<li class="first">
<a href="http://del.icio.us/post?url=http://www.themarket2010.de<?php print $node_url; ?>&title=<?php print $title; ?>" title="Bookmark this post on del.icio.us." rel="nofollow" target="_blank">
<img src="/images/delicious.png" alt="Delicious" />
</a>
</li>
<li class="first">
<a href="http://digg.com/submit?phase=2&url=http://www.themarket2010.de<?php print $node_url; ?>&title=<?php print $title; ?>" title="Digg this post on digg.com." rel="nofollow" target="_blank" >
<img src="/images/digg.png" alt="Digg" />
</a>
</li>
<li class="first">
<a href="http://www.facebook.com/sharer.php?u=http://www.themarket2010.de<?php print $node_url; ?>&t=<?php print $title; ?>" title="Share on Facebook." rel="nofollow" target="_blank" onclick="openServiceLinks(this.href); return false">
<img src="/images/facebook.png" alt="Facebook" />
</a>
</li>
<li class="first">
<a href="http://technorati.com/cosmos/search.html?url=http://www.themarket2010.de<?php print $node_url; ?>" title="Search Technorati for links to this post." rel="nofollow" target="_blank" >
<img src="/images/technorati.png" alt="Technorati" />
</a>
</li>
</ul>
</div></div>
Dabei habe ich einfach an den entsprechenden Stellen der URL's mit
<?php print $node_url; ?>
und
<?php print $title; ?>
die URL und den Titel des aktuellen nodes eingesetzt.
Kleine besonderheit ist Facebook, hier habe ich mit
<a href="FACEBOOK URL + URL ZUM NODE" title="Share on Facebook." rel="nofollow" target="_blank" onclick="openServiceLinks(this.href); return false">
ein PopUp Fenster geöffnet. Einfach am Ende des Links den JavaScript onClick Handler aufrufen:
onclick="openServiceLinks(this.href); return false"
Die Funktion dazu steht entweder irgendwo in der node.tpl.php oder im Header der page.tpl.php
<script type="text/javascript">
function openServiceLinks (Adresse) {
MeinFenster = window.open(Adresse, "ServiceLinks", "width=550,height=300,left=100,top=200, menubar=no, toolbar=no, location=no");
MeinFenster.focus();
}
</script>
.
.
Ach ja: ein target="_blank" im Link sorgt sehr schön dafür das die Links in neuen Fenstern aufgehen...
.
.
.
.
Händisch: schicke Lösung!
am 21.03.2010 - 22:21 Uhr
Moin kloewer@drupal.org
das ist eine schicke Lösung, insbesondere, weil dann nicht bei jedem Seitenaufruf vom addthis- oder share-Server geladen werden muss...
Gruß
jemies-2
P.S.:
Muss man ein spezielles modul installieren, damit der Aufruf
<?php print $node_url; ?>
dann in der Adresszeile des Browsers aufgelöst wird?
Bei mir erscheint sowas:
http://www.facebook.com/sharer.php?u=http://www.theater-springinsfeld.de/sif-neu<?php print $node_url; ?>&t=<?php print $title; ?>
jemies-2 schrieb Muss man ein
am 21.03.2010 - 23:46 Uhr
Muss man ein spezielles modul installieren, damit der Aufruf
<?php print $node_url; ?>
dann in der Adresszeile des Browsers aufgelöst wird?
Guxk mal in deine node.tpl.php, da findest du folgenden Eintrag:
<?php
// $Id: node.tpl.php,v 1.7.2.2 2009/05/04 07:31:23 zinv Exp $
/**
* @file node.tpl.php
*
* Theme implementation to display a node.
*
* Available variables:
* - $title: the (sanitized) title of the node.
* - $content: Node body or teaser depending on $teaser flag.
* - $picture: The authors picture of the node output from
* theme_user_picture().
* - $date: Formatted creation date (use $created to reformat with
* format_date()).
* - $links: Themed links like "Read more", "Add new comment", etc. output
* from theme_links().
* - $name: Themed username of node author output from theme_user().
* - $node_url: Direct url of the current node.
* - $terms: the themed list of taxonomy term links output from theme_links().
* - $submitted: themed submission information output from
* theme_node_submitted().
*
* Other variables:
* - $node: Full node object. Contains data that may not be safe.
* - $type: Node type, i.e. story, page, blog, etc.
* - $comment_count: Number of comments attached to the node.
* - $uid: User ID of the node author.
* - $created: Time the node was published formatted in Unix timestamp.
* - $zebra: Outputs either "even" or "odd". Useful for zebra striping in
* teaser listings.
* - $id: Position of the node. Increments each time it's output.
*
* Node status variables:
* - $teaser: Flag for the teaser state.
* - $page: Flag for the full page state.
* - $promote: Flag for front page promotion state.
* - $sticky: Flags for sticky post setting.
* - $status: Flag for published status.
* - $comment: State of comment settings for the node.
* - $readmore: Flags true if the teaser content of the node cannot hold the
* main body content.
* - $is_front: Flags true when presented in the front page.
* - $logged_in: Flags true when the current user is a logged-in member.
* - $is_admin: Flags true when the current user is an administrator.
*
* @see template_preprocess()
* @see template_preprocess_node()
*/
?>
Besonders Interessant ist Zeile 19:
<?php
* - $node_url: Direct url of the current node.
?>
D.h. der Eintrag
<?php
print $node_url;
?>