Přeskočit přímo na text


Pathauto a nové aliasy

Ahoj,
používám v nastavení Pathauto modulu na možnost
Create a new alias. Leave the existing alias functioning.
tedy česky
Ponechat starý alias a vytvořit nový.

Po nastavení této možnosti jsou po změně názvu článku (resp. jména uživatele/čehokoliv nastaveného v Pathauto) funkční oba URL aliasy – nový i starý.

Drupal ale zobrazuje starý alias – URL adresa obsahuje starou adresu, nikoli novou, která odpovídá aktuálnímu titulku článku. Např. funkce url() vrací nejstarší alias.

To by měl řešit modul Path redirect, který by ze starého aliasu přesměroval na nový s hlavičkou 301, ale ten je v současné době ve vývoji, není doporučen pro použití na ostrých webech a hlavně není kompatibilní s nějakými verzemi Pathauto.

O vybírání aliasů se stará funkce drupal_lookup_path(), proto jsem se rozhodl funkci upravit. V API najdete funkci jak vypadá, tady upravené řádky souboru includes/path.inc:

...
68. // Get the most fitting result falling back with alias without language
69. $alias = db_result(db_query("SELECT dst FROM {url_alias} WHERE src = '%s' AND language IN('%s', '') ORDER BY language DESC, pid DESC", $path, $path_language));
...
79. // Get the most fitting result falling back with alias without language
80. if ($src = db_result(db_query("SELECT src FROM {url_alias} WHERE dst = '%s' AND language IN('%s', '') ORDER BY language DESC, pid DESC", $path, $path_language))) {
...

Jde o přidání seřazovací podmínky do mySQL dotazu.

Chtěl bych se o tuhle změnu především podělit, ale taky poprosit ty zkušenější z Vás o radu, jak dostat tuhle změnu do jádra Drupalu a jestli to má vůbec smysl.

Díky
Milan

 

Poslat nový komentář

Obsah tohoto pole je soukromý a nebude veřejně zobrazen.
  • You can use Texy! to format and alter entered content.
  • Povolené HTML značky: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <p> <br> <b> <i> <h2> <img> <pre> <sup> <sub> <pre class="php"> <span class="php-keyword1"> <span class="php-var"> <span class="php-num"> <img class="screenshot"> <p class="beginner"> <a class="greybox"> <h3> <h4>

Více informací o možnostech formátování

Hledat

Přihlášení

Poslední komentáře