जवाबों:
किसने अनुमान लगाया होगा? इसके लिए एक मॉड्यूल है। खाली फ्रंट पेज मॉड्यूल की जाँच करें । कोड की केवल 10 पंक्तियों के साथ, यह वहाँ से बाहर सबसे सरल मॉड्यूल में से एक होना चाहिए।
function MYTHEME_preprocess_page(&$vars) { if (drupal_is_front_page()) { unset($vars['page']['content']['system_main']['default_message']); //will remove message "no front page content is created" drupal_set_title(''); //removes welcome message (page title) }
MYTHEME
द्वारा MYMODULE
ना?
आप इसे अपनी थीम की टेम्प्लेट फ़ाइल में कर सकते हैं:
function MYTHEME_preprocess_page(&$vars) {
if (drupal_is_front_page()) {
unset($vars['page']['content']['system_main']['default_message']); //will remove message "no front page content is created"
drupal_set_title(''); //removes welcome message (page title)
}
}
"सीएसएस सामग्री नहीं है" छिपाने के लिए एक त्वरित सीएसएस समाधान बस अपनी सीएसएस फ़ाइल में निम्नलिखित पंक्ति जोड़कर है:
#first-time {display:none;}
संदेश "अभी तक कोई सामने पृष्ठ सामग्री नहीं बनाई गई है।" पृष्ठ के लिए पृष्ठ कॉलबैक से दिखाया गया है जिसे आप फ्रंट पेज, नोड_पेज_डेफ़ॉल्ट () के रूप में उपयोग कर रहे हैं , जिसमें निम्न कोड है।
$select = db_select('node', 'n')
->fields('n', array('nid', 'sticky', 'created'))
->condition('n.promote', 1)
->condition('n.status', 1)
->orderBy('n.sticky', 'DESC')
->orderBy('n.created', 'DESC')
->extend('PagerDefault')
->limit(variable_get('default_nodes_main', 10))
->addTag('node_access');
$nids = $select->execute()->fetchCol();
if (!empty($nids)) {
$nodes = node_load_multiple($nids);
$build = node_view_multiple($nodes);
// 'rss.xml' is a path, not a file, registered in node_menu().
drupal_add_feed('rss.xml', variable_get('site_name', 'Drupal') . ' ' . t('RSS'));
$build['pager'] = array(
'#theme' => 'pager',
'#weight' => 5,
);
drupal_set_title('');
}
else {
drupal_set_title(t('Welcome to @site-name', array('@site-name' => variable_get('site_name', 'Drupal'))), PASS_THROUGH);
$default_message = '<p>' . t('No front page content has been created yet.') . '</p>';
// …
}
यह केवल उत्पादन है क्योंकि साइट में नोड्स नहीं हैं; संदेश सामने वाले पृष्ठ से संबंधित नहीं है (या नहीं) ब्लॉक है।
यदि आप उस फ्रंट पेज को रखना चाहते हैं, लेकिन उस संदेश को नहीं देख रहे हैं, तो आप एक मॉड्यूल में निम्नलिखित हुक को लागू कर सकते हैं।
function mymodule_page_alter(&$page) {
if (isset($page['default_message']['#markup']) && is_string($page['default_message']['#markup'])) {
$page['default_message']['#markup'] = strtr($page['default_message']['#markup'], '<p>' . t('No front page content has been created yet.') . '</p>', '');
}
}
अन्य विकल्प settings.php फ़ाइल के अंत में निम्नलिखित कोड जोड़ रहा होगा।
$conf['locale_custom_strings_en'][''] = array(
'No front page content has been created yet.' => '',
);
यदि आपकी वेबसाइट में अन्य भाषाएँ सक्षम हैं, तो आप प्रत्येक भाषा के लिए एक समान प्रविष्टि जोड़ सकते हैं। उदाहरण के लिए, इतालवी में प्रवेश करने के लिए कोड निम्नलिखित होगा। (के _en
साथ बदल दिया गया है _it
।)
$conf['locale_custom_strings_it'][''] = array(
'No front page content has been created yet.' => '',
);
इस पद्धति का उपयोग करते हुए, "अभी तक कोई फ्रंट पेज सामग्री नहीं बनाई गई है।" इसे हर उस जगह बदला जाएगा जहां इसका इस्तेमाल होता है, न कि सिर्फ फ्रंट पेज पर। उस स्ट्रिंग का उपयोग आम तौर पर केवल फ्रंट पेज में किया जाता है, जब फ्रंट पेज डिफॉल्ट होता है। मुझे नहीं पता कि उस स्ट्रिंग का उपयोग करने वाला कोई अन्य मॉड्यूल है, लेकिन उस स्ट्रिंग को एक रिक्त स्ट्रिंग के साथ बदलने से पहले $conf['locale_custom_strings_en']['']
, मैं जांच करूंगा कि कोई भी सक्षम मॉड्यूल नहीं हैं जो इसका उपयोग करते हैं (नोड मॉड्यूल को छोड़कर)।
मेरे पास सभी नई परियोजनाओं के लिए एक टेम्पलेट है:
यही है, मुझे कभी भी फिर से अजीब डिफ़ॉल्ट नोड पेज से निपटने की ज़रूरत नहीं है।
यह सामग्री क्षेत्र में अन्य सामग्री के साथ भ्रमित किए बिना इस त्रुटि से छुटकारा पाने के लिए एक अच्छा स्निपेट है । यह केवल इस त्रुटि को छिपाएगा और अन्य सामग्रियों को सामान्य रूप से दिखाएगा।
इस स्निपेट को "अभी तक कोई सामने पृष्ठ सामग्री नहीं बनाई गई है" निकालें पर पोस्ट किया गया है। डिफ़ॉल्ट Drupal स्थापना में ।
/**
* Implements template_preprocess_page().
*/
function YOUR_THEME_preprocess_page(&$vars) {
// Remove the "No front page content has been created yet.".
if (isset($vars['page']['content']['system_main']['default_message'])) {
unset($vars['page']['content']['system_main']['default_message']);
}
}
अपने page.tpl.php को पृष्ठ - front.tpl.php पर हुक करें और जो भी आप चाहते हैं उसे हुक करने का आनंद लें :-)
मुझे यकीन नहीं है कि ड्रुपल के एडमिन इंटरफेस से ऐसा करने का कोई तरीका है।
इसे पूरा करने का एक तरीका, जिसे मैं जानता हूं, वह यह है कि if
आपके लिए एक बयान जोड़ना है page.tpl.php
। एक लाइन की तरह खोजें:
<?php print render($page['content']); ?>`
... और इसे इसमें बदलें:
<?php if (!$is_front): ?>
<?php print render($page['content']); ?>
<?php endif; ?>
यह मूल रूप से उन सभी पृष्ठों पर मुख्य पृष्ठ की सामग्री को प्रिंट करेगा जो फ्रंट पेज नहीं हैं। लेकिन, यह आपको अपने पृष्ठ के मध्य में एक अंतराल छेद के साथ छोड़ सकता है।
तो, आप अपने page.tpl.php
आसपास के कुछ अन्य समायोजन करने के लिए अच्छी तरह से कर सकते हैं और संभवतः आसपास के कंटेनर टैग को अधिक शामिल कर सकते हैं। होम पेज के लिए पहले साइडबार के ऊपर हेडिंग लगाकर टैम्पलेट को और बदल दिया गया है:
<?php if ($is_front): ?>
<?php if ($title): ?>
<h1 class="title" id="page-title">
<?php print $title; ?>
</h1>
<?php endif; ?>
<?php endif; ?>
... और प्रारंभिक if
वक्तव्य को आगे बढ़ाते हुए और इसे कंटेंट कंटेनर के अंदर रखते हुए:
<div id="content" class="column">
<?php if (!$is_front): // Moved the if statement over here.... ?>
<div class="section">
<?php if ($page['highlighted']): ?>
<div id="highlighted"><?php print render($page['highlighted']); ?>
</div>
<?php endif; ?>
<a id="main-content"></a>
<?php print render($title_prefix); ?>
<?php if ($title): ?>
<h1 class="title" id="page-title">
<?php print $title; ?>
</h1>
<?php endif; ?>
<?php print render($title_suffix); ?>
<?php if ($tabs): ?>
<div class="tabs">
<?php print render($tabs); ?>
</div>
<?php endif; ?>
<?php print render($page['help']); ?>
<?php if ($action_links): ?>
<ul class="action-links">
<?php print render($action_links); ?>
</ul>
<?php endif; ?>
<?php print render($page['content']); ?>
<?php print $feed_icons; ?>
</div>
<?php endif; // ...and closed it here. ?>
</div> <!-- /.section, /#content -->
... निम्नलिखित परिणाम मिले:
$page['content']
।
मैं नहीं जानता कि आप लोग इसे इतना जटिल क्यों मानते हैं। (अच्छी तरह से मुझे नहीं पता कि अगर पेट के तरीके काम करते हैं, लेकिन अगर यह काम नहीं करता है, तो नीचे दिए गए समाधान का उपयोग करें।
page.tpl.php में आपको कोड का यह भाग खोजना होगा:
(अच्छी तरह से मैं यह मेरा अनुकूली थीम 7x-3.2 है)
<?php if ($title): ?>
<h1 id="page-title">
<?php print $title; ?>
</h1>
<?php endif; ?>
आपको बस इसे डिलीट करना है! सभी लाइनों।
Php का यह हिस्सा बस कहता है:
यदि "शीर्षक" मौजूद है, तो इसे H1 फ़ॉन्ट आकार में प्रिंट करें। यह उस क्षेत्र में वेबसाइट पर मुद्रित होता है जिस क्षेत्र में कोड लिखा गया है। एडेप्टिव थीम के मामले में यह हैडर क्षेत्र में है।
यदि आपके पास उप-प्रकार में पृष्ठ.tpl.php नहीं है, तो आपको इसे मूल विषय में खोजना होगा, और फिर इसे उसी स्थान पर कॉपी करें जो मूल विषय के रूप में है, अपने उप-विषयक पर।
AT में यह /templates/page.tpl.php है
इसका मतलब यह है कि आपके अनुकूली विषय उपमेय में आपको "टेम्प्लेट" नाम का फोल्डर बनाना होगा और फिर वहां पेज कॉपी करना होगा। पेज.फ्लॉप करें और फिर ऊपर बताए गए कोड के हिस्से को हटा दें।
यह महत्वपूर्ण है कि आप कोर थीम में कोई बदलाव न करें!
इस कोड को page.tpl.php में रखें
if(drupal_is_front_page()) {
unset($page['content']['system_main']['default_message']);
}
या
unset($page['content']['system_main']['default_message']);
पेज में - front.tpl.php
आप प्रतिस्थापन के लिए स्ट्रिंग ओवरराइड्स मॉड्यूल स्ट्रिंग ओवरराइड्स का उपयोग कर सकते हैं
"फ्रंट पेज कंटेंट अभी तक फ्रंट पेज में नहीं बनाया गया है " "
बेहतर प्राप्त करने के लिए इस काम के सेट नहीं होने $page['content']['system_main']['default_message']
में hook_preprocess_theme
या में page.tpl.php
या page--front.tpl.php
।
खोज
<?php print render($page['content']); ?>
और नीचे कोड के साथ बदलें।
<?php if(drupal_is_front_page()){
unset($page['content']['system_main']['default_message']);
}
print render($page['content']);
?>
या
function MYTHEME_preprocess_page(&$vars) {
if (drupal_is_front_page()) {
unset($vars['page']['content']['system_main']['default_message']); //will remove message "no front page content is created"
}
}
का आनंद लें!!
Drupal 8 में, "अभी तक कोई फ्रंट पेज कंटेंट नहीं बनाया गया है।" यह भी दिखाया गया है, जैसे कि नई साइट बनाने और उसके फ्रंट पेज (होमपेज) पर जाने के ठीक बाद। लेकिन चीजों को सरलीकृत किया गया है यदि आप इसे बदलना या हटाना चाहते हैं ... जो कुछ आवश्यक है वह ऐसा है:
/admin/structure/views/view/frontpage
("फ्रंटपेज" नाम के दृश्य को संपादित करने के लिए)।अपने परिवर्तनों को सत्यापित करने के लिए, फ्रंट पेज पर ब्राउज़ करें। यदि जरूरत हो तो संदेश को आगे बढ़ाने के लिए ऊपर दिए गए चरणों को दोहराएं।