Bir kanca nasıl oluşturulur?


18

Diğer Drupal modüllerinin kullanması için kendi kancamı nasıl oluşturabilirim (Drupal çekirdeğinin oluşturduğu kancalara benzer)?

Yanıtlar:


20

Aslında kanca oluşturmazsınız. Aşağıdaki gibi yardımcı işlevlerini kullanın module_invoke_all(), module_invoke()ya da drupal_alter()beklenen isim desen eşleştirme tüm fonksiyonları çağırmak için. Çağrılan işlevler genellikle ile bulunur module_implements().

Kancaların çalışması gerekli olmasa bile, en iyi uygulama, belge açıklamalarıylaMODULE.api.php boş taslak hook_NAME işlevleri oluşturarak bunları belgelendirmektir .


6
Drupal 7'den yeni bir kodlama standardı olan dokümantasyon hakkında +1 ve birçok katkı modülü de D6 için kullanmaya başladı. Boş bir işlev yerine, bu kanca ile neler yapılabileceğini göstermek için örnek bir uygulama sağlamanın daha iyi olduğunu unutmayın.
Berdir

1
Genellikle, o kancanın gerçek bir uygulaması varsa MODULE.api.php'de listelenen kanca için kod sağlarsınız.
kiamlaluno

0

Ayrıca kanca oluşturabilir, hook_trigger_info kullanarak yeni kanca oluşturabilirsiniz ve modülünüzde uygulamanız gerekir. Örnek olarak, bir düğüm arşivi oluşturmak ve içine eski düğümler koymak istediğinizi varsayalım. Ayrıca, arşivleme işlemi tamamlandığında bir kanca tetiklemek istersiniz. böyle bir şey olacak

function hook_trigger_info() {
    return array(
            'node' => array(
                    'archive_nodes' => array(
                        'label' => t('Archive old nodes'),
                    )
            )
    );
} 

Kancayı tanımladıktan sonra, modülünüz kanca ve eylemlerin module_invoke () veya module_invoke_all () kullanılarak uygulanmasından sorumludur .

triggerDüğüm sekmesi altında bu yeni kancayı görmek için modülü etkinleştirebilirsiniz .

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.