Привет.
У меня есть страница приветствия (/node, выставлена главной страницей), ссылка с которой ведет на главную страницу де-факто (/frontpage).
Проблема в том, что, кликая по логотипу c /frontpage (равно как и с прочих страниц сайта), я попадаю не на /frontpage, а на страницу приветствия.
Мне же, разумеется, нужно, чтобы после клика на логотипе открывалась не она, а как раз-таки /frontpage.
Я пробовал создать синоним для /frontpage и выставить главной страницей его, но у меня ничего не получилось.
Пожалуйста, подскажите что делать.
Комментарии
/frontpage выставить главной страницей
а для страницы приветствия использовать либо .html файл, либо особый модуль, который нужно поискать.
drupal.org/projects/frontpage вроде не подходит.
Вообще — ознакомиться с мнением Артемия Татьяныча насчет входных страниц
На уровне друпала считаю что входная=главная. Без НО.
+1 бредовая идея — поиграть с base path или прописать ручками ссылку у картинки...
Спасибо!
.html-файл - это, безусловно, идея: дешево и сердито. Тем более что front действительно не походит.
Что же до Артемия Татьяныча, я с ним согласен: да, обычно, заставки - это плохо
Последний же предложенный вами вариант (с прописыванием ссылки у logo.png) возник в моем воспаленном сознании сразу после того как передо мной возникла обсуждаемая проблема. Но я только начинаю разбираться в устройстве друпала, и, после серии (за некоторым исключением, неудачных) попыток стараюсь не запускать руки дальше папки с собственной сабтемой. Подозреваю, что нужно поменять что-то в одном из файлов .inc. Только вот где и что именно? Будьте любезны, подскажите пожалуйста.
В тему: идём именно в тему, правим page.tpl.php
У меня вот такой кусок есть:
</head>
<body>
<div id="all">
<div id="header">
<?php if (isset($primary_links)) : ?>
<?php print theme('links', $primary_links, array('id' => 'nav-top')) ?>
<?php endif; ?>
<div class="logo">
<a class="no" href="http://site.ru" title="site.ru | на глагне"><img src="/<?php
if ($node->path == 'about' && !(strstr($node->path,'about')===FALSE)) {print 'i/logo-2.gif';}
elseif ($node->path == 'clubs' && !(strstr($node->path,'clubs')===FALSE)) {print 'i/logo-3.gif';}
elseif ($node->path == 'docs' && !(strstr($node->path,'docs')===FALSE)) {print 'i/logo-4.gif';}
elseif ($node->path == 'events' && !(strstr($node->path,'events')===FALSE)) {print 'i/logo-5.gif';}
elseif ($node->path == 'partners' && !(strstr($node->path,'partners')===FALSE)) {print 'i/logo-6.gif';}
elseif ($node->path == 'oldnews' && !(strstr($node->path,'oldnews')===FALSE)) {print 'i/logo-1.gif';}
else {print 'i/logo-1.gif';} ?>
" width="599px" height="163px" alt="глагне рулит" /></a>
</div>
<div class="mission">...
Кстати, этот пример показывает как менять картинку в зависимости от раздела сайта. Мой путь, у кого есть поэффективнее — намекните
Если бы у меня было все как у вас, думаю, тут вообще проблем бы не возникло
У меня же все иначе:
<div id="branding">
<?php; ?>
<?php if (!empty($site_logo)): ?>
<div id="logo"><?php print $site_logo; ?></div>
<?php endif; ?>
Я тут, правда, подумал, что мою проблему можно как-то решить через препрогресс и даже нашел кое-что:
function YOURTHEMENAME_theme_preprocess_page(&$variables) {
if (request_uri() == '/') {
$variables['template_files'][] = 'splash-screen';
}
}
?>
Впрочем, как это использовать я толком не представляю - только начинаю вникать в друпал
Большое спасибо iT, который предложил несколько хороших решений, но я применил свое. Его суть заключается в правке template.php. Этот блок оттуда кастомизировать совсем несложно:
$vars['site_logo'] =
'<a href="'. $vars['front_page'] .'" title="'. t('Home'). '" rel="home">
<img src="'. $vars['logo'] .'" alt="'. t('Home') .'" />
</a>';
}
Достаточно лишь подставить вместо 'front_page' и 'Home' нужные параметры.
Схожие задачи решаются по аналогии.
Спасибо и пожалуйста.
+1 howtomadesolution