답변:
누가 추측했을까요? 이를위한 모듈이 있습니다. 빈 프론트 페이지 모듈을 확인하십시오 . 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)
}
}
"콘텐츠 메시지 없음"을 숨기는 빠른 CSS 해결 방법은 CSS 파일에 다음 줄을 추가하는 것입니다.
#first-time {display:none;}
"첫 페이지 콘텐츠가 아직 생성되지 않았습니다."메시지 다음 코드가 포함 된 첫 페이지 node_page_default () 로 사용중인 페이지의 페이지 콜백에서 표시됩니다 .
$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를 page--front.tpl.php에 연결하고 원하는 걸 즐기십시오 :-)
Drupal의 관리 인터페이스 에서이 작업을 수행 할 수있는 방법이 있는지 확실하지 않습니다.
내가 아는 한, 이것을 달성하는 한 가지 방법은에 if문장을 추가하는 것 page.tpl.php입니다. 다음과 같은 줄을 찾으십시오.
<?php print render($page['content']); ?>`
... 그리고 다음으로 변경하십시오.
<?php if (!$is_front): ?>
<?php print render($page['content']); ?>
<?php endif; ?>
기본적으로 첫 페이지가 아닌 모든 페이지에 기본 페이지 내용을 인쇄합니다. 그러나 이렇게하면 페이지 중간에 간격이 생길 수 있습니다.

따라서 몇 가지 다른 조정을 수행 page.tpl.php하고 주변 컨테이너 태그를 더 많이 포함하는 것이 좋습니다. 홈 페이지의 첫 번째 사이드 바 위에 표제를 추가하여 tamplate을 추가로 변경하십시오.
<?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'].
너희들이 왜 그렇게 복잡하게하는지 모르겠다. (물론 abd의 방법이 효과가 있는지 모르겠지만 작동하지 않는 경우 아래 솔루션을 사용하십시오.
page.tpl.php에서이 코드 부분을 찾아야합니다.
(이것은 내 적응 형 테마 7x-3.2입니다)
<?php if ($title): ?>
<h1 id="page-title">
<?php print $title; ?>
</h1>
<?php endif; ?>
당신이해야 할 일은 삭제입니다! 모든 라인.
PHP 의이 부분은 단순히 말합니다 :
"title"이 있으면 H1 글꼴 크기로 인쇄하십시오. 코드가 작성된 영역의 웹 사이트에 인쇄되어 있습니다. Adaptive Theme의 경우 헤더 영역에 있습니다.
서브 테마에 page.tpl.php가없는 경우 핵심 테마에서 찾은 다음 코어 테마와 동일한 위치에 서브 테마로 복사해야합니다.
AT에서는 /templates/page.tpl.php입니다.
적응 테마 하위 테마에서 "templates"라는 폴더를 만든 다음 page.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(편집에 "FrontPage를"명명 된보기).변경 사항을 확인하려면 첫 페이지로 이동하십시오. 필요한 경우 위의 단계를 반복하여 메시지를 추가 조정하십시오.