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

tagadelic tags mit title attributen versehen

Eingetragen von dude (338)
am 04.03.2009 - 15:15 Uhr in
  • Allgemeines zu Drupal
  • Drupal 6.x

hallo forum,

ist es möglich terms "alt" attribute hinzuzufügen?

grüsse vom dude

‹ Drupal Login kombiniert mit Webmailer vom Hoster? jQuery-Slider in Drupal einbinden ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Müsstest Du mit ner

Eingetragen von Thoor (3678)
am 04.03.2009 - 15:28 Uhr

Müsstest Du mit ner geänderten function taxonomy_link anstellen können. Aber im Regelfall ist doch der "alt"-Titel bereits aus der "description" enthalten?

  • Anmelden oder Registrieren um Kommentare zu schreiben

"alt"-Attribute für Terms?

Eingetragen von Frank Ralf (2135)
am 04.03.2009 - 15:29 Uhr

Hallo dude,

wie meinst du das? Und wozu soll das dienen?

Gruß
Frank

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

kein php

Eingetragen von dude (338)
am 04.03.2009 - 15:58 Uhr
Thoor schrieb

Müsstest Du mit ner geänderten function taxonomy_link anstellen können. Aber im Regelfall ist doch der "alt"-Titel bereits aus der "description" enthalten?

die description ist im "alt" bei mir nicht enthalten. und leider spreche ich auch kein php für irgendwelche funktionsänderungen.

  • Anmelden oder Registrieren um Kommentare zu schreiben

weil

Eingetragen von dude (338)
am 04.03.2009 - 16:03 Uhr
Frank Ralf schrieb

Hallo dude,

wie meinst du das? Und wozu soll das dienen?

Gruß
Frank

XING

ich meine z.b.:

<a href="/?q=taxonomy/term/100" class="tagadelic level5" title="hier könnte eine erklärung stehen" rel="tag">beispiel-tag</a>

ich brauche das weil sich der kunde zu den terms noch einen kurzen erklärungssatz in eben so einem title-attribut wünscht.

edit: sorry! ich meinte ein "title-attribut". "alt" is ja nur für bilder.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Also wenn Du es nicht

Eingetragen von Thoor (3678)
am 04.03.2009 - 16:06 Uhr

Also wenn Du es nicht bewusst geändert hast in Deinem verwendeten Theme, dann sollte es durch das Core Taxonomie Modul auch bei Dir vorhanden sein:

function taxonomy_link($type, $node = NULL) ...

    if (!empty($node->taxonomy)) {
      foreach ($node->taxonomy as $term) {
        // During preview the free tagging terms are in an array unlike the
        // other terms which are objects. So we have to check if a $term
        // is an object or not.
        if (is_object($term)) {
          $links['taxonomy_term_'. $term->tid] = array(
            'title' => $term->name,
            'href' => taxonomy_term_path($term),
            'attributes' => array('rel' => 'tag', 'title' => strip_tags($term->description))
          ...

  • Anmelden oder Registrieren um Kommentare zu schreiben

staun

Eingetragen von dude (338)
am 04.03.2009 - 16:14 Uhr
Thoor schrieb

Also wenn Du es nicht bewusst geändert hast in Deinem verwendeten Theme, dann sollte es durch das Core Taxonomie Modul auch bei Dir vorhanden sein:

function taxonomy_link($type, $node = NULL) ...

    if (!empty($node->taxonomy)) {
      foreach ($node->taxonomy as $term) {
        // During preview the free tagging terms are in an array unlike the
        // other terms which are objects. So we have to check if a $term
        // is an object or not.
        if (is_object($term)) {
          $links['taxonomy_term_'. $term->tid] = array(
            'title' => $term->name,
            'href' => taxonomy_term_path($term),
            'attributes' => array('rel' => 'tag', 'title' => strip_tags($term->description))
          ...

krass! aber ich hab da ganz bestimmt nichts geändert! trotzdem fehlt bei mir das title attribut, auch wenn ich etwas in die description schreibe. ich habe zwar ein eigenes theme, aber das zen-theme als ausgangsbasis benutzt. kann es daran liegen?
und wo sind denn diese code-zeilen her die du gepostet hast? (also bitte den namen der php-datei) damit ich das mal bei mir checken kann.

  • Anmelden oder Registrieren um Kommentare zu schreiben

taxonomy.module

Eingetragen von stBorchert (6003)
am 04.03.2009 - 16:16 Uhr
dude schrieb

wo sind denn diese code-zeilen her die du gepostet hast? (also bitte den namen der php-datei) damit ich das mal bei mir checken kann.

modules/taxonomy/taxonomy.module, Zeile 47 ff

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hier klappt's mit Zen

Eingetragen von Frank Ralf (2135)
am 04.03.2009 - 16:19 Uhr

Hallo dude,

bei mir klappt's, auch mit einem Zen-Subtheme:

title-Attribut für Taxonomie-Term

Gruß
Frank

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

tagadelic schuld?

Eingetragen von dude (338)
am 04.03.2009 - 16:26 Uhr
Frank Ralf schrieb

Hallo dude,

bei mir klappt's, auch mit einem Zen-Subtheme:

title-Attribut für Taxonomie-Term

Gruß
Frank

XING

ok, ich lasse mir die terms hier von tagadelic in so einer tag-cloud ausgeben. dann scheint also tagadelic die title attribute nicht zu übernehmen? jemand ne idee wie ich das noch ändern könnte?
die php-datei hab ich gecheckt. die code-zeilen sind da.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja, tagadelic schuld!

Eingetragen von Frank Ralf (2135)
am 04.03.2009 - 17:54 Uhr

Ja, tagadelic ist schuld, und zwar die folgende Funktion (tagadelic.module, Zeile 304) :

<?php

/**
* theme function that renders the HTML for the tags
* @ingroup themable
*/
function theme_tagadelic_weighted($terms) {
 
$output = '';
  foreach (
$terms as $term) {
   
$output .= l($term->name, taxonomy_term_path($term), array('attributes' => array('class' => "tagadelic level$term->weight", 'rel' => 'tag'))) ." \n";
  }
  return
$output;
}
?>

Die bastelt das HTML zusammen, baut aber die title-Attribute nicht ein. Das müsste man nachholen.

Gruß
Frank

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

?

Eingetragen von dude (338)
am 04.03.2009 - 18:05 Uhr
Frank Ralf schrieb

Ja, tagadelic ist schuld, und zwar die folgende Funktion (tagadelic.module, Zeile 304) :

<?php

/**
* theme function that renders the HTML for the tags
* @ingroup themable
*/
function theme_tagadelic_weighted($terms) {
 
$output = '';
  foreach (
$terms as $term) {
   
$output .= l($term->name, taxonomy_term_path($term), array('attributes' => array('class' => "tagadelic level$term->weight", 'rel' => 'tag'))) ." \n";
  }
  return
$output;
}
?>

Die bastelt das HTML zusammen, baut aber die title-Attribute nicht ein. Das müsste man nachholen.

Gruß
Frank

XING

ähem, *räusper* .. ist das schwer? es müsste doch irgendwas wie 'title' => ($descripion-variable) genügen, oder?
aber wie heisst nur diese variable?

  • Anmelden oder Registrieren um Kommentare zu schreiben

Lösung: title-Attribut auch mit tagadelic

Eingetragen von Frank Ralf (2135)
am 04.03.2009 - 18:58 Uhr

Die Funktion findet man - wie oben erwähnt - in:

Zitat:

modules/taxonomy/taxonomy.module, Zeile 47 ff.

Daher muss die Funktion in tagadelic.module jetzt so lauten:

<?php

**
*
theme function that renders the HTML for the tags
* @ingroup themable
*/
function
theme_tagadelic_weighted($terms) {
 
$output = '';
  foreach (
$terms as $term) {
   
$output .= l($term->name, taxonomy_term_path($term),
    array(
       
'attributes' => array(
           
'class'  => "tagadelic level$term->weight",
           
'rel'    => 'tag',
           
'title'  => strip_tags("$term->description"),)
            )
            ) .
" \n";
  }
  return
$output;
}
?>

Leider ruft tagadelic die "description" standardmäßig auch nicht aus der Datenbank ab. Daher muss man weiter oben (Zeile 228) auch das SQL entsprechend um d.description ergänzen:

$result = db_query_range('SELECT COUNT(*) AS count, d.tid, d.name, d.vid, d.description FROM {term_data} d INNER JOIN {term_node} n ON d.tid = n.tid WHERE d.vid IN ('. substr(str_repeat('%d,', count($vids)), 0, -1) .') GROUP BY d.tid, d.name, d.vid  ORDER BY count DESC', $vids, 0, $size);

Dann sollte es funzen:

title-Attribut für tagadelic

Frank

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

DANKE!!

Eingetragen von dude (338)
am 04.03.2009 - 23:19 Uhr

super! vielen, vielen dank!! :-)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Thread-Titel anpassen

Eingetragen von Frank Ralf (2135)
am 05.03.2009 - 08:26 Uhr

Gern geschehen, wenn du jetzt noch den Titel des gesamten Threads entsprechend anpasst, wird die Lösung von anderen auch leichter gefunden.

Gruß
Frank

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Modulentwicklung

Eingetragen von stBorchert (6003)
am 05.03.2009 - 08:42 Uhr

Moin!

Frank Ralf schrieb

Die Funktion findet man - wie oben erwähnt - in: modules/taxonomy/taxonomy.module, Zeile 47 ff.

... und wird dort nicht (soll heissen: unter keinen Umständen) verändert!

Wenn die Ausgabe Deinen Wünschen entsprechend angepasst werden soll, kann die Funktion in der Datei template.php Deines Themes überschrieben (!= geändert) werden:

<?php
**
*
theme function that renders the HTML for the tags
* @ingroup themable
*/
function
phptemplate_tagadelic_weighted($terms) {
 
$output = '';
  foreach (
$terms as $term) {
   
$output .= l($term->name, taxonomy_term_path($term),
    array(
       
'attributes' => array(
           
'class'  => "tagadelic level$term->weight",
           
'rel'    => 'tag',
           
'title'  => strip_tags("$term->description"),)
            )
            ) .
" \n";
  }
  return
$output;
}
?>

Zusätzlich dazu kannst Du einen Patch schreiben und diesen dann an einen entsprechenden FeatureRequest des Moduls anhängen.
Wenn Du Änderungen direkt im Modul machst, sind diese beim nächsten Update weg und Du wunderst Dich, warum es plötzlich nicht mehr funktioniert.

Also: bestehender Code wird nur geändert, damit man einen Patch daraus bauen kann. Ansonsten gibt es theme-Funktionen, die man überschreiben kann.

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Modifiationen in template.php des Themes

Eingetragen von Frank Ralf (2135)
am 05.03.2009 - 08:57 Uhr

Hallo Stefan,

du hast natürlich Recht, das war nur ein schneller Hack als "Proof on Concept". Das kanonische Vorgehen ist natürlich so, wie von dir beschrieben ;-)

Die Idee mit einem offiziellen Patch ist nicht schlecht, aber da kenn' ich mich leider nicht so aus. Kennst du eine Anleitung, wie man das unter Windows elegant hinkriegt? Ich hab WinMerge 2.8 auf meinem Rechner, hab mich damit aber noch nicht sonderlich viel beschäftigt.

Gruß
Frank

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

Patch

Eingetragen von stBorchert (6003)
am 05.03.2009 - 09:03 Uhr
Frank Ralf schrieb

Kennst du eine Anleitung, wie man das unter Windows elegant hinkriegt?

Aber klar doch: Erstellen von Patches.

viel Spass,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Vielen Dank!

Eingetragen von Frank Ralf (2135)
am 05.03.2009 - 11:19 Uhr
stBorchert schrieb

Aber klar doch: Erstellen von Patches.

Da hab ich ja genau den Richtigen gefragt ;-) Vielen Dank für den Hinweis und erst recht die Übersetzung! Das ist auf Deutsch doch etwas zugänglicher. Nun hab ich ja keine Ausrede mehr...

Gruß
Frank

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

man müsste php sprechen können ..

Eingetragen von dude (338)
am 05.03.2009 - 15:00 Uhr
stBorchert schrieb

Moin!

Zusätzlich dazu kannst Du einen Patch schreiben und diesen dann an einen entsprechenden FeatureRequest des Moduls anhängen.

kann ich eben leider nicht. drum muss ichs bei der modifikation des moduls selbst belassen und darf halt nicht updaten.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Patch: title-Attribute für Tagadelic

Eingetragen von Frank Ralf (2135)
am 06.03.2009 - 22:45 Uhr

So, der Patch ist da: http://drupal.org/node/393494 - und die Info auch hier http://drupal.org/node/390870 für his_dudeness ;-)

Und nochmals Dank an Stefan für den kleinen Schubser - war gar nicht so schlimm :-)

Gruß
Frank

Patch-Erstellen und Patchen hab ich übrigens mit NetBeans gemacht, geht sehr komfortabel (http://www.netbeans.org/features/php/). Nur die UNIX-Anpassung der Zeilenumbrüche (http://www.drupalcenter.de/handbuch/14910) muss man mit einem anderen Editor machen.

XING

  • Anmelden oder Registrieren um Kommentare zu schreiben

patch

Eingetragen von stBorchert (6003)
am 07.03.2009 - 09:39 Uhr

Moin Frank.
Mal ein paar Hinweise zu Deinem Patch.
strip_tags("$term->description") finde ich irgendwie seltsam.
Es gibt die Funktion , wenn DU HTML bereinigen möchtest. Und die Anführungeszeichen sind auch überflüssig. :-)

Und die Einrückungen der Klammern sind unten nicht richtig.

Ansonsten: gut gemacht :-)

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Patch as patch can...

Eingetragen von Frank Ralf (2135)
am 07.03.2009 - 13:34 Uhr

Hallo Stefan,

danke fürs Durchschauen und für die Tipps. Hab' ich eingebaut (http://drupal.org/node/393494#comment-1326354) und werd' ich mir fürs nächste Mal merken.

Die Funktion strip_tags($term->description) hatte ich einfach aus dem Taxonomy-Kernmodul kopiert (modules/taxonomy/taxonomy.module, Zeile 64). Da scheint sie dann wohl auch noch ein Überbleibsel aus alten Tagen zu sein...

Gruß
Frank

XING

  • 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 3 Tagen 18 Stunden
  • Hey danke
    vor 4 Tagen 13 Stunden
  • Update: jetzt gibt's ein
    vor 5 Tagen 7 Stunden
  • Hallo, im Prinzip habe ich
    vor 1 Woche 2 Tagen
  • Da scheint die Terminologie
    vor 1 Woche 2 Tagen
  • Kannst doch auch alles direkt
    vor 2 Wochen 2 Stunden
  • In der entsprechenden View
    vor 2 Wochen 2 Stunden
  • Dazu müsstest Du vermutlich
    vor 2 Wochen 2 Stunden
  • gelöst
    vor 4 Wochen 3 Tagen
  • Ja natürlich. Dass ist etwas,
    vor 4 Wochen 4 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20449

Neue User:

  • Mroppoofpaync
  • 4aficiona2
  • AppBuilder

» 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