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

URL - Alias

Eingetragen von Greenhorn2013 (56)
am 20.08.2007 - 11:50 Uhr in
  • Allgemeines zu Drupal
  • Drupal 5.x

Hallo zusammen,
habe mal wieder ein kleineres Problem.
Ich bastle mir in einem Block ein Taxonomy Modul inklusive dem Pfad dahin.
Sollte dieser URL-Alias nicht existieren, wird dieser in die Datenbank eingetragen.
Das Anlegen funktioniert auch soweit ohne Probleme und die Funktion "drupal_lookup_path" liefert mit die korrekte Quelle zurück.
Wenn ich aber nun aber auf den Link klicke, dann sagt mir Drupal das der Pfad nicht gefunden wurde.
Wo liegt da der Hund begraben?

‹ Newbiefragen: Lassen sich Kategorien verschieben? Und mehrsprachig machen? Kommentare ohne Moderationswarteschlage publizieren ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Nutzt du in deinem Modul den

Eingetragen von pebosi (2645)
am 20.08.2007 - 11:53 Uhr

Nutzt du in deinem Modul den Menü - Hook?

gruß pebosi

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo pebosi das ist

Eingetragen von Greenhorn2013 (56)
am 20.08.2007 - 11:56 Uhr

Hallo pebosi
das ist lediglich ein Block mit PHP Code.
Menu Hook? Nicht das ich wüßte

  • Anmelden oder Registrieren um Kommentare zu schreiben

Achso, dachte du hast ein

Eingetragen von pebosi (2645)
am 20.08.2007 - 11:58 Uhr

Achso, dachte du hast ein eigenes Modul geschrieben.
Dann poste doch mal den Quell- und Zielpfad oder auch deinen Code.

gruß pebosi

  • Anmelden oder Registrieren um Kommentare zu schreiben

Anbei der Code

Eingetragen von Greenhorn2013 (56)
am 20.08.2007 - 12:02 Uhr

Anbei der Code

Alias: stellenangebote/angewandte_naturwissenschaften_und_technik/
SRC: taxonomy/term/79

<?php
$boxPerLine
=2;
$path = 'stellenangebote/';
$name=explode('/',strval($_REQUEST['q']));
$name=!empty($name[1])?$name[1]:$name[0];
$output = '';
$data[0] = 0;
$data[1] = 1;
if(
$name !='stellenangebote'){
 
$sql = "Select tid,vid,name from `term_data` where name like '%".$name."%'";
 
$res = mysql_query($sql);
  if(
$res && mysql_num_rows($res)>0){
   
$erg = mysql_fetch_row($res);
   
$data[0] = $erg[0];
   
$data[1] = $erg[1];
    if(!empty(
$erg[2])){
     
$path.=$erg[2].'/';
      }
    }
  }


if(
$data && is_array($data)){
  unset(
$res);
 
$sql = "Select a.tid as atid,b.* from {term_hierarchy} a inner join {term_data} b using (tid) where parent = '".$data[0]."' and b.vid = '".$data[1]."' order by b.weight";
 
$res = db_query($sql);
  if(
$res){
   
$i=1;$close=1;
    while(
$erg=mysql_fetch_object($res)){
         if(
$close==1){
          
$output.='<div id="jobline">';
          
$close=0;
           }
        
$output .= '<div id="jobbox">';
        
$output .= "<ul>";
        
$fpath   = getPathName($path.$erg->name).'/';
         if(
$erg->alias!=1){
          
checkPathAlias($fpath,$erg->tid);
           }
        
$output .= "<li id=\"jobboxhead\">".l($erg->name, $fpath)."</li>";
        
$sub_items = get_nodes_in_term($erg->tid,$fpath);
         if(
is_array($sub_items) && count($sub_items)>0){
          
$output.='<ul>';
          
$output.=implode("\r\n",$sub_items);
          
$output.='</ul>';
           }
        
$output.= "</ul>";
        
$output .= '</div>'; 
         if(
$i%2 == 0){
          
$close=1;
          
$output.='</div>';
           }
        
$i++;
         }
   
    }
  }
echo
$output;
function
getPathName($name){
 
$name=str_replace(array('ä','ü','ö',' ',',','&','.'),array('ae','ue','oe','_','','',''),$name);
 
$name=strtolower($name);
  if(
strlen($name>64)){
   
$name=substr($name,0,64);
    }
  return
$name;
  }
function
checkPathAlias($path,$tid){
 
$original='taxonomy/term/'.$tid;
 
$sql="Replace into {url_alias} set src='$original',dst='$path'";
 
db_query($sql);
  if(
$src=drupal_lookup_path('source', $path) ){
    
print_r($src);
     }
 
$sql="Update {term_data} set alias = '1' where vid='$tid' LIMIT 1";
 
db_query($sql);
  }
function
get_nodes_in_term($tid,$path) {
$sub_items = array();
#$sql = "SELECT node.title, node.nid FROM node INNER JOIN term_node ON node.nid = term_node.nid WHERE term_node.tid = $tid ";
$sql = "Select a.tid as atid,b.* from {term_hierarchy} a inner join {term_data} b using (tid) where parent = '".$tid."' order by b.weight";
$result = db_query($sql);
while (
$anode = db_fetch_object($result)) {
$spath=getPathName($path.$anode->name);
if(
$anode->alias!=1){
          
checkPathAlias($spath,$anode->tid);
           }
$sub_items[] = "<li>" . l($anode->name, $spath) . "</li>";
}
return
$sub_items;
}
?>

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wenn du unter

Eingetragen von pebosi (2645)
am 20.08.2007 - 12:05 Uhr

Wenn du unter admin/build/path den Alias anlegst, dann kannst du in der Funktion "l" den normalen Pfad "taxonomy/term/79" angeben, die Funktion ersetzt diesen dann automatisch mit dem Alias.

gruß pebosi

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich weis, ich wollte mir

Eingetragen von Greenhorn2013 (56)
am 20.08.2007 - 12:09 Uhr

Ich weis, ich wollte mir aber so den Weg dadrüber und damit die tipparbeit sparen.
Deswegen ist noch immer die frage wieso er das nicht macht.

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hm, wie sieht denn die

Eingetragen von pebosi (2645)
am 20.08.2007 - 12:33 Uhr

Hm, wie sieht denn die Ausgabe des Pfades im Quellcode aus? Steht da der korrekte Pfad drin und ist diese bei der Alias Übersicht aufgelistet?

Du könntest die Aliase doch einmal per Pathauto erstellen lassen und fertig ;)

gruß pebosi

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ok also ich schein das

Eingetragen von Greenhorn2013 (56)
am 20.08.2007 - 12:35 Uhr

Ok also ich schein das Problem jetzt eingekreist zu haben.
Scheinbar hat drupal ein problem mit einem / am ende des Url Alias

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ja, das wird nicht

Eingetragen von pebosi (2645)
am 20.08.2007 - 12:37 Uhr

Ja, das wird nicht benötigt.

gruß pebosi

  • Anmelden oder Registrieren um Kommentare zu schreiben

So hab jetzt das / am ende

Eingetragen von Greenhorn2013 (56)
am 20.08.2007 - 13:03 Uhr

So hab jetzt das / am ende entfernt und schon gehen die URL - Alias einstellungen :)
Somit kann ich mir nu das lästige Tippen sparen.
Achja, noch ein Hinweis:
Alias Einstellungen mit mehr als 64 ZEICHEN werden auch nicht akzeptiert.
Find ich zwar nen bissle blöd aber was solls ich hoffe in 6.0 is das anders :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

hm, laut Tabellendefinition

Eingetragen von pebosi (2645)
am 20.08.2007 - 13:05 Uhr

hm, laut Tabellendefinition sollten es 128 Zeichen sein.

gruß pebosi

  • Anmelden oder Registrieren um Kommentare zu schreiben

Laut tabelle :) Ich weis

Eingetragen von Greenhorn2013 (56)
am 20.08.2007 - 14:26 Uhr

Laut tabelle :) Ich weis :)
Aber mehr als 64 nimmt das Form nicht an und mit mehr als 64 Zeichen funzt die URL auch net mehr

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Neuinstallation: vermutlich ein rewrite-Problem
  • Drupal CMS installieren
  • [erledigt]MP3 in Drupal 10 einbinden
  • (gelöst)Drupal 11 installieren
  • Titel ausblenden
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
Weiter

Neue Kommentare

  • Was für einen Server benutzt
    vor 1 Woche 3 Tagen
  • Wenn die Subdomain auf
    vor 1 Woche 5 Tagen
  • ordnerstruktur
    vor 1 Woche 5 Tagen
  • Die Subdomain muß auf den
    vor 2 Wochen 1 Tag
  • Verwende doch das Tag dafür,
    vor 5 Wochen 3 Tagen
  • Guckst du hier: step by step
    vor 5 Wochen 2 Tagen
  • Guckst du hier: step by step
    vor 5 Wochen 2 Tagen
  • Ich habe ja keine Angst vor
    vor 6 Wochen 5 Tagen
  • Ist grundsätzlichmachbar – aber nichts für „einfach mal schnell“
    vor 7 Wochen 6 Stunden
  • Vielen Dank erst einmal, aber
    vor 7 Wochen 1 Tag

Statistik

Beiträge im Forum: 250289
Registrierte User: 20517

Neue User:

  • Wolf Dab
  • Scottteday
  • MichaelPeeno

» Alle User anzeigen

User nach Punkten sortiert:
wla9466
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 22 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