A Fórumnak köszönhetően sikerült beüzemelnem egy többnyelvű oldalt, ahol a felület, a szótárak, a view-k, a tartalom, és a cck field-ek többnyelvűsítésével jól boldogultam.
Ami nem teljesen világos a számomra, hogyan kellene kezelnek az url-jeimet.
Ha például van egy kétnyelvű view-m, ami a termékeket listázza, a "termekek" oldalon, akkor alapban jól működik a dolog, de kicsit zavar, hogy angol-ra váltva is "termekek" marad az url-ben. Persze kipróbáltam, klónoztam a view-t és átírtam a page mezőt "products"-ra, és a megfelelő menüpontokat eszerint kötöttem be.
1. A kérdésem az, hogy érdemes-e ezt megtenni?
Beállítottam néhány automatizmust, angol oldalak en előtagot kapnak, és tartalomtípusonként nyelvfüggő url-előtagot is beállítottam. Például "receptek" vagy "recipes" kerül a receptek tartalomtípusú oldalak címe elé az url-ben.
2. Nagyon zavar, hogy ha egy magyar oldalnál eltérek az automatikus url generálástól és elmentek egy konkrét url-t, akkor amikor a fordításánál is megteszem az angol nyelvű node-nál ugyanezt, a magyar párjánál törli az előző beállításomat és visszaírja, hogy automatikusan képezze az url-t. Tehát mindig csak az utolsónak mentett node-nál őrzi meg az url átírásom, a fordított párjait felülírja.
Ennek így kell működni, vagy ez valami hiba? Érdemes egyébként eltérni az automatikus path képzéstől?
Tudom, hogy ez fizikailag több kérdés, de mégis egyetlen problémakör: többnyelvű oldalak esetén hogyan érdemes az url-eket felépítenem.
Szerintem a pathauto modulra
Szerintem a pathauto modulra lesz szükséged.
http://drupal.org/project/pathauto
Útvonalálnevek -> Álnév hozzáadása
itt be lehet állítani amit szeretnél.
Views page-nek sima URL alias; Pathauto, Transliteration
A Views-zal létrehozott oldalra:
uhh, nehogy minden URL alias részére létrehozz egy-egy külön page view-t, mert az nagyon durva meló lesz hosszú távon...
Egyszerűen adj hozzá a "termekek" aliashoz egy "products" aliast az
admin/config/search/path/add
oldalon (Administration » Configuration » Search and metadata » URL aliases).A másikra pedig én is a Pathauto modult ajánlom, plusz érdemes még mindenképp felrakni a Transliteration modult is. A Pathauto felrakása után konkrétan az
admin/config/search/path/patterns
( Administration » Configuration » Search and metadata » URL aliases » Patterns) oldalon tudsz beállítani egységes mintákat az egyes node-okhoz, tartalomtípusoktól és nyelvektől függően (persze itt van még a taxonómia és a felhasználók szerinti URL-alias generálása is). Meg lehet adni egy alapértelmezett mintát, egy mintát a semleges nyelvnek, egyet a magyarnak, egyet az angolnak.Csak egy példa:
a "Basic page" tartalomtípusnál, amennyiben engedélyezve van a többnyelvűség, akkor külön megadhatod, hogy minden angol nyelvű tartalomra ilyen URL alias generálódjon:
pages/[node:title]
a magyar oldalakhoz pedig ilyen:
oldalak/[node:title]
Az előbbi azt jelenti, hogy amennyiben készítesz egy "Ez az első oldal" című cikket, akkor valami ilyesmi lesz a legenerált URL alias, ha telepítve van a Transliteration is (persze beállítástól függően változhat):
oldalak/ez-az-elso-oldal
aztán mindezt lefordítod angolra, "This is my first page" címen, akkor ilyen lesz ennek a tartalomnak az angol URL aliasa:
pages/this-is-my-first-page
de akár ebbe még a node id-t is beleteheted:
oldalak/[node:nid]/[node:title]
ekkor ilyesmi alias lesz:
oldalak/1/ez-az-elso-oldal
A gondom éppen a pathauto modullal van
Valószínűleg rosszul fogalmaztam valamit, mert pont a pathauto modult használom úgy, ahogy Permalink is leírta, és azzal nem értek valamit.
Tehát minden ragyogóan működik, amíg automatikus url generálást állítok be a tartalmakra. Ha azonban az url alias settings-nél beállítok valamit, mert nem jó az automatikus, akkor ez csak a legutolsónak módosított fordításnál érvényesül. A többit visszaállítja automatic alias-ra.
URL alias újragenerálása
"pont a pathauto modult használom úgy, ahogy Permalink is leírta"
Ki az a Permalink? :P
Akkor lehetséges megoldás:
Magától nem fognak újragenerálódni az URL aliasok, neked kell újrageneráltatnod őket.
Két lehetőség:
admin/content
oldalon a megfelelő típusra szűrés, mind kijelölése, majd update options-nél "Update URL alias".admin/config/search/path/update_bulk