patonomide taksonomi hiyerarşisi eğik çizgilerle nasıl ayrılır


14

Pathauto , taksonomi hiyerarşisini farklı bir şekilde örtüşme yöntemine sahip gibi görünüyor.

Gönderen Taksonomi Menüsü :

  1. İlanlar> Otomobil> Aston Martin> DB9 Coupe
  2. İlanlar> İş> Muhasebe

İstediğim url için böyle bir şey:

  • ilanlar / işler / muhasebe (muhasebe-işler-ilanlar değil)

(Pathautho'nun bunu ters sırada tire ile oluşturduğunu unutmayın.)

Pathauto'da bu kalıbı kullanıyorum: Default path pattern(aşağıdaki boş kalıpları olan tüm kelimeler için geçerlidir)

[term:parents-all]

Şaşkın.

Yanıtlar:


10

İle Token modülü etkin, böyle bir desen ayarlayabilirsiniz:

[term:vocabulary]/[term:parent:parent:name]/[term:parent:name]/[term:name]

Bu kalıbı istediğiniz kadar yapın. Ardından yollarınız:

vocabulary
vocabulary/category1
vocabulary/category1/subcategory1
vocabulary/category1/subcategory2
vocabulary/category1/subcategory2/subsubcategory1

ve bunun gibi...


Çok teşekkürler! Yani bir sınıflandırma hiyerarşisi varsa, [terim: kelime bilgisi] / [terim: ebeveyn: ebeveyn: ebeveyn: ebeveyn: isim] / [terim: ebeveyn: ebeveyn: isim] / ... vb. ., sağ? Jeton modülü, üst-alt öğeyi tekrar tekrar bu şekilde tanımlamanız gerekmeyecek şekilde yapılandırılabilir. Beklenmedik bir şekilde ağacınız 6 seviye olursa, başka bir tane eklemek için yollarınızı silmeniz ve güncellemeniz gerekir ve daha sonra 7 seviye derinleşir ve böylece .. bir kullanıcı bir seviye aşağı terim eklerse, içeriğini bir yönetici pathauto günceller!
Ocak

1
Bu kabul edilen cevap olsa da, lütfen @ NenadP'nin ölçeklenebilir bir çözüm için verdiği cevabı inceleyin.
Paul

16

Join kullanarak bunu yapmanın akıllıca bir yolu var : /

Benim durumumda kullandım:

[node:field-taxonomy-skolski:parents:join:/]

field-taxonomy-skolskitaksonomi ağacından terimi seçme alanı nerede . Öne eğik çizgiler çıkacak, ancak altında bir ayar var.

Yönetim »Yapılandırma» Arama ve meta veriler »URL takma adları» URL takma adları - ayarlar

PUNCTUATION açılır menüsü için sayfanın alt tarafında . "Kaldır" yerine "hiçbir işlem yapmayın" (/) olarak ayarlayın.


Bingo! Ben kendimi yukarıdaki ölçeklenebilir olmayan çözüm ( drupal.stackexchange.com/questions/27141/… ) sundu ve tabii ki bunu daha çok seviyorum. Yemin ederim ki, o kalıbı çalıştırmak için uğraşırken belirteç seçeneği orada değildi. Teşekkürler!
Artur

2
[...: join: /] benim için çalışmadı ama [...: join-path] işe yaradı. Açıklama: birleştirme yolu ile ayırıcıyı seçemezsiniz. Ayırıcı olarak / kullanır.

Bu sizin için işe yaramazsa, muhtemelen "varlık" modülünü kurmanız ve etkinleştirmeniz gerekir.
coderama

Drupal 8 için desen biraz farklı, örneğin: [term:vocabulary]/[term:parents:join:/]/[term:name]
Martin Klíma

6

Bu benim için Token 7.x-1.3 ve Pathauto 7.x-1.2 ile Drupal 7.15 üzerinde çalışıyor:

[Terim: anne: katılmak: /] / [terim: adı]

İkinci cevapta esmerlerin belirttiği gibi, katıl:% separator% sihri yapar. Varsayılan tireyi% separator% ile değiştirir.

Brunops'a çok teşekkürler!


Bu doğru cevap olmalı! Kaç seviyeye sahip olduğunuz önemli değil, bu işe yarayacak.
Rantiev

3

Bunu çalıştırmanın anahtarları:

  • Entity API, Entity Tokens, Path Auto ve Taxonomy modüllerini kurabilir ve etkinleştirebilir.
  • içerik türünüzde bir alan oluşturun ve Alan Türünü Terim Referansı olarak ayarlayın ve buna 'alan-içerik-kategori' (makine adı) gibi bir ad verin
  • Değerlerin Sayısı, diğer bir deyişle, 'Kullanıcıların bu alan için girebileceği maksimum değer sayısı' değerini 1 olarak ayarlayın (yol öğeleri arasına otomatik olarak / ekleyen birleşik yol belirteçlerini kullanmak istiyorsanız çok önemlidir).
  • URL kalıplarını (admin / config / arama / yol / kalıplar) '[düğüm: alan-içerik-kategori: ebeveynler: birleştirme yolu] / [düğüm: alan_içerik_kategorisi] / [düğüm: başlık]' gibi bir şeye ayarlayın

0

Şey gibi akıllı bir şey kullanmanızı tavsiye ederim:

[Terimi: ana: koşulları: ters: birleştirme :?]

Ama hayatım için de çalışamıyorum. Bunun yerine aşağıdakileri öneriyorum, ancak sadece hiyerarşinin izin verdiği kadar derin gidebilirsiniz (değiştirme modellerinde görülebilir). Hiyerarşide daha derin terimler eklerseniz deseni de güncellemeniz gerekir.

[Terimi: anne-hepsi: 3] / [terimi: anne-hepsi: 2] / [terimi: anne-hepsi: 1]

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.