Pathauto'yu KULLANMADAN bir içerik türü için URL takma adını otomatik olarak nasıl ayarlayabilirim? Hangi kanca uygulanacak?


11

Pathauto işi tüm içerik türleri için kolayca yapabilir, ancak benim durumumda özelleştirilmesi gereken tek bir içerik türü URL'm var ve Pathauto ve Token'i yüklememeyi tercih ederim.

Birisi bana nasıl yapılacağını önerebilir mi?


2
Kendinizi baş ağrısından kurtarın ve sadece pathauto kullanın. Bu sorun zaten çözüldü, neden çözülsün? Pathauto, yalnızca düğümleri kaydederken (ve hatta o zaman sadece minimal) bir performans vuruşuna neden olur.
Matthew Scharley

4
Biri pathauto'dan daha güzel url'ler üretebildiğinden ve ihtiyacınız olan tek şey bir veya iki tür için url oluşturmaksa, tek bir kanca uygulayarak iki modülden kurtulabilirsiniz. Ayrıca, Toplu içe aktarma oldukça yavaştır (ve kişisel olarak bir noktada kırılmıştır, 400 düğümden sonra herhangi bir şeyi içe aktarmayı reddeder), oysa hafif cron / toplu betiğim saniyede 500 düğüm içe aktarmayı başardı, bu da 100k'niz olduğunda oldukça güzel takma ad üretmek için düğümler.
wildpeaks

Yanıtlar:


12
/**
 * Implements hook_node_insert()
 */
 function mymodule_node_insert($node) {
   if ($node->type == 'mytype') {
     $node->path['alias'] = 'mytype/' . $node->nid;
   }
 }

Ayrıca, bu kodu hook_node_update () öğesine ekleyebilirsiniz.


1

Bkz. S. Pro Drupal Development için 149, hook_insert () kullanın. Yeni bir düğüm kaydedildiğinde hook_insert () çağrılır. Düğüm kaydedilmeden önce düğümün içeriğinin özel olarak işleneceği yer burasıdır. Ayrıca s. 152-156 Pro Drupal Geliştirme tüm farklı hook_node_xxxx () fonksiyonlarından bahseder.

Önceki cevapta önerilen hook_node_insert () kullanarak belirli bir içerik türünü değiştirmek için ihtiyacınızı ele olmayacak TÜM düğüm oluşturma bir kanca ile sonuçlanacağını düşünüyorum .


Aşağıdaki cümleyi içeren hook_insert () öğesinde bildirilen öğelere bakın : "Bu kanca yalnızca düğümün içerik türünü tanımlayan modülde çağrılır ( hook_node_insert()tüm düğüm eklemelerinde işlem yapmak için kullanın )."
kiamlaluno
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.