Yanıtlar:
Kim tahmin ederdi ki? Bunun için bir modül var. Boş Ön Sayfa modülünü kontrol edin . Sadece 10 satır kod ile, oradaki en basit modüllerden biri olmalıdır.
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
tarafından MYMODULE
sağa?
Bunu temanızın şablon dosyasında yapabilirsiniz:
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)
}
}
"İçerik yok mesajını" gizlemek için hızlı bir CSS geçici çözümü, CSS dosyanıza aşağıdaki satırı eklemektir:
#first-time {display:none;}
"Henüz hiçbir ön sayfa içeriği oluşturulmadı." , aşağıdaki kodu içeren ön sayfa olarak (node_page_default ()) kullandığınız sayfanın sayfa geri aramasında gösterilir .
$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>';
// …
}
Sitenin düğümleri olmadığı için çıktı alınır; ileti, ön sayfadaki (veya olmayan) bloklarla ilgili değildir.
Bu ön sayfayı saklamak istiyor ancak bu mesajı görmüyorsanız, aşağıdaki kancayı bir modüle uygulayabilirsiniz.
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>', '');
}
}
Diğer alternatif, settings.php dosyasının sonuna aşağıdaki kodu eklemek olacaktır.
$conf['locale_custom_strings_en'][''] = array(
'No front page content has been created yet.' => '',
);
Web sitenizde etkinleştirilmiş başka diller varsa, her dil için benzer bir giriş ekleyebilirsiniz. Örneğin, İtalyanca için girilecek kod aşağıdaki kod olacaktır. ( _en
ile değiştirilir _it
.)
$conf['locale_custom_strings_it'][''] = array(
'No front page content has been created yet.' => '',
);
Bu yöntemi kullanarak, "Henüz hiçbir ön sayfa içeriği oluşturulmadı." yalnızca ön sayfada değil, kullanıldığı her yerde değiştirilir. Bu dize normalde yalnızca ön sayfada varsayılan ön sayfa olduğunda kullanılır. Bu dizeyi kullanan başka bir modül olup olmadığını bilmiyorum, ancak bu dizeyi boş bir dize ile değiştirmeden önce $conf['locale_custom_strings_en']['']
, onu kullanan herhangi bir etkin modül (Düğüm modülü hariç) olup olmadığını kontrol ederim.
Şunları içeren tüm yeni projeler için bir şablon var:
Bu kadar, whacky varsayılan düğüm sayfasıyla bir daha uğraşmak zorunda değilim.
Bu, İçerik bölgesine yerleştirilen diğer içeriklerle karıştırılmadan bu hatadan kurtulmak için harika bir snippettir . Bu yalnızca bu hatayı gizler ve diğer içerikleri normal şekilde gösterir.
Bu snippet, "Henüz hiçbir ön sayfa içeriği oluşturulmadı" yı kaldırma bölümünde yayınlandı . varsayılan Drupal kurulumunda .
/**
* 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 sayfasını sayfaya bağla - front.tpl.php ve çengel tadını çıkarmak istediğini yap :-)
Bunu Drupal'ın yönetici arayüzünden yapmanın bir yolu olup olmadığından emin değilim.
Bunu başarmanın bir yolu, bildiğim, if
sizin için bir ifade eklemektir page.tpl.php
. Şunun gibi bir hat bulun:
<?php print render($page['content']); ?>`
... ve şu şekilde değiştirin:
<?php if (!$is_front): ?>
<?php print render($page['content']); ?>
<?php endif; ?>
Bu, temel olarak ana sayfa içeriğini ön sayfa olmayan tüm sayfalara yazdırır. Ancak, bu sizi sayfanızın ortasında bir boşluk bırakabilir.
Dolayısıyla, page.tpl.php
çevrenizdeki kapsayıcı etiketlerinde başka ayarlamalar yapabilir ve belki de daha fazlasını kapsayabilirsiniz. Başlığı ana sayfa için ilk kenar çubuğunun üzerine koyarak tamplate'yi daha da değiştirmek:
<?php if ($is_front): ?>
<?php if ($title): ?>
<h1 class="title" id="page-title">
<?php print $title; ?>
</h1>
<?php endif; ?>
<?php endif; ?>
... ve ilk if
ifadeyi taşıyıp hemen içerik kabının içine yerleştirerek:
<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 -->
... şu sonuçları verdi:
$page['content']
.
Neden bu kadar karmaşık hale getirdiğinizi bilmiyorum. (Eh, abd'nin yollarının işe yarayıp yaramadığını bilmiyorum, ancak işe yaramadığı takdirde, aşağıdaki çözümü kullanın.
page.tpl.php içinde kodun bu kısmını bulmanız gerekir:
(bu benim var Adaptif Tema 7x-3.2)
<?php if ($title): ?>
<h1 id="page-title">
<?php print $title; ?>
</h1>
<?php endif; ?>
Tek yapmanız gereken silmek! Tüm çizgiler.
Php bu kısmı sadece diyor ki:
"Başlık" varsa, H1 yazı tipi boyutunda yazdırın. Kodun yazıldığı alanda web sitesinde basılır. Uyarlanabilir Tema durumunda Başlık alanındadır.
Alt temanızda page.tpl.php yoksa, onu ana temada bulmalı ve sonra ana temanızla aynı konuma, alt temanıza kopyalamalısınız.
AT'de /templates/page.tpl.php
Uyarlanabilir tema alt temanızda "şablonlar" adlı bir klasör oluşturmanız ve daha sonra o sayfaya page.tpl.php kopyalamanız ve yukarıda belirtilen kodun bir kısmını silmeniz gerektiği anlamına gelir.
Çekirdek temasında herhangi bir değişiklik yapmamanız önemlidir!
Bu kodu page.tpl.php dosyasına yerleştirin
if(drupal_is_front_page()) {
unset($page['content']['system_main']['default_message']);
}
Veya
unset($page['content']['system_main']['default_message']);
Sayfada - front.tpl.php
kullanabileceğiniz dize geçersiz kılar Modülü Dize Overridesdeğiştirmek için
"Henüz ön sayfada içerik oluşturulmadı" - ""
Daha iyi bu işi başarmak için ayarlanmazsa $page['content']['system_main']['default_message']
bölgesi hook_preprocess_theme
veyapage.tpl.php
veyapage--front.tpl.php
.
bulmak
<?php print render($page['content']); ?>
ve aşağıdaki kodla değiştirin.
<?php if(drupal_is_front_page()){
unset($page['content']['system_main']['default_message']);
}
print render($page['content']);
?>
VEYA
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"
}
}
Zevk almak!!
Drupal 8'de aynı "Henüz hiçbir ön sayfa içeriği oluşturulmadı." ayrıca, örneğin yeni bir site oluşturup ön sayfasını (ana sayfa) ziyaret ettikten hemen sonra gösterilir. Ancak değiştirmek veya kaldırmak isterseniz işler basitleştirilmiştir ... Gereken tek şey şudur:
/admin/structure/views/view/frontpage
("Frontpage" adlı görünümü düzenlemek için) öğesine gidin .Değişikliklerinizi doğrulamak için ön sayfaya gidin. Gerekirse, mesajı daha fazla ayarlamak için yukarıdaki adımları tekrarlayın.