जाँच करें कि क्या वर्तमान पृष्ठ टैक्सोनॉमी शब्द है


8

यदि वर्तमान पृष्ठ एक टैक्सोनॉमी टर्म पेज है, तो मैं कैसे जांच सकता हूं कि इसी तरह निम्न कोड के साथ क्या किया जाता है, यह जानने के लिए कि क्या वर्तमान पृष्ठ फ्रंट पेज है?

if (drupal_is_front_page()) {
  // The current page is the front page.
}
else {
  // It is not the front page.
} 

जवाबों:


13

बस एक ऐसा समाधान प्रस्तुत करें arg()जो उपयोग न करे (जो डॉक्स पृष्ठ के अनुसार जहां संभव हो बचने की सलाह दी जाती है )

आप menu_get_object()फ़ंक्शन का उपयोग कर सकते हैं :

$term = menu_get_object('taxonomy_term', 2);
if ($term) {
  // User is on a taxonomy term page
}

1
मुझे लगता है कि उपरोक्त कोड भी वर्गीकरण / शब्द / आईडी / संपादन और फ़ीड पृष्ठों में निष्पादित होते हैं !! हमें तीसरे तर्क की जाँच करने की आवश्यकता हो सकती है?
अनिल सागर

1
@AnilSagar पवित्र मोली तुम सही हो: पी मुझे वास्तव में यकीन नहीं है कि यह स्वीकार करने का तरीका क्या है फिर, मुझे लगता है कि मैंने arg()कम पठनीय होने के बारे में उस बिट को नहीं बनाया है
क्लाइव

कैसे बयान && !path_is_admin(current_path())में थोड़ा popping के बारे में if? मैंने इसे अभी तक चेक नहीं किया है, लेकिन शब्द संपादित पथ व्यवस्थापक पृष्ठ हैं, नहीं :)
चापबाबू

1
@Chapabu आप चाहिए ट्रेडमार्क कि;)
क्लाइव

2
सावधानी: दृश्य सक्षम करने से टैक्सेनॉमी टर्म लोडर बदल जाता है, जिससे मेनू_गेट_बॉजेक्ट ('टैक्सोनॉमी_टरम', 2) बनता है; अब और काम करने के लिए नहीं। देखें: drupal.org/node/1468006 और api.drupal.org/comment/45018#comment-45018
Manu


5

<?php if (arg(0) == 'taxonomy' && arg(1) == 'term' && arg(2)): ?> चाल चलनी चाहिए।

यदि आप उपयोग कर सकते हैं तो एडिट / फीड (और संभवत: कुछ अन्य संबंधित पेज) को बाहर रखा जाना चाहिए: <?php if (arg(0) == 'taxonomy' && arg(1) == 'term' && arg(2) && !arg(3)): ?>


यह भी सच है taxonomy/term/123/editजिसके लिए मुझे यकीन नहीं है कि ओपी चाहता है।
क्लाइव

1
हाँ, उसने यह नहीं कहा कि वह ठीक-ठीक क्या लक्ष्य कर रहा है, लेकिन मैंने उस चिंता का समाधान करने के लिए अपना उत्तर अपडेट कर दिया है।
मैडिस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.