web-gelistirme-sc.com

Bir kanca nasıl oluşturulur?

Diğer Drupal modüllerinin kullanması için kendi kancamı nasıl oluşturabilirim (= Drupal çekirdek oluşturur)?

17
markdorison

Aslında kanca oluşturmazsınız. module_invoke_all() , module_invoke() veya drupal_alter() gibi yardımcı işlevleri kullanırsınız. beklenen ad düzeniyle eşleşen tüm işlevleri çağırmak için. Çağrılan işlevler genellikle module_implements() ile bulunur.

Kancaların çalışması gerekli olmasa bile, en iyi uygulama bunları MODULE.api.php boş taslaklar oluşturarak hook_NAMEdokümantasyon yorumları ile çalışır.

20
Pierre Buyle

Ayrıca, hook_trigger_info kullanarak kanca oluşturabilirsiniz, yeni kanca oluşturabilirsiniz ve modülünüzde onu 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 eylemleri module_invoke () veya module_invoke_all () kullanarak uygulamaktan sorumludur.

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

0
M a m a D