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

URL - Alias

Eingetragen von Greenhorn2013 (56)
am 20.08.2007 - 10: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 - 10: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 - 10: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 - 10: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 - 11: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 - 11: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 - 11: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 - 11: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 - 11: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 - 11: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 - 12: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 - 12: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 - 13: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

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

Statistik

Beiträge im Forum: 250233
Registrierte User: 20450

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 23 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