Использовать Друпал для создания подобных сайтов конечно можно, но я думаю это лишние проблемы. Вся фишка подобных сайтов в том, что они со спецэффектами и будет плохо, если они будут делаться по шаблону. Даже если создать друпал-модуль, который будет добавлять страницу (положим там даже будет выбор эффекта появления и выбор анимации css) в одностраничный сайт, сайт не будет уникальным. Как думаете какие плюсы будут, если все-таки написать подобный модуль?
Комментарии
все норм
По-моему, вы путаете модули и темизацию.
не проще взять готовое?) http://www.ra-don.ru/landing
уже есть 2 модуля и одна сборка
Здесь вы правы, это по большей части сводится к темизации. Может у тех, кто давно занимается сайтами-одностраничниками, есть свой стандартный набор jquery-плагинов, которые они используют в проектах. Я просмотрел несколько одностраничных шаблонов для друпал, в большинстве из них все сводилось к темизации, при этом javascript-код настройки плагинов там прописывался прямо в файлах шаблонов.
Интересно. Ссылками не поделитесь?
https://drupal.org/project/onepage
https://drupal.org/project/onepagecv
https://drupal.org/project/single_page_website
Помнится была у меня мысль, чтобы на сайте музыка играла в фоне. Но проблема была в том, что при перезагрузке страницы песня начинала играть с начала. А чтобы песня не играла по новой нужно было делать все через ajax. Так как было всего 5 страниц, то там проблем не было, все решалось простым модулем:
<?php function ajax_links_init() {
drupal_add_js('misc/jquery.form.js');
drupal_add_library('system', 'drupal.ajax');
} /**
* Implements hook_menu().
*/ function ajax_links_menu() {
// A menu callback is required when using ajax outside of the Form API.
$items['pages'] = array(
'page callback' => 'ajax_links_response',
'access callback' => 'user_access',
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
return $items;
}
function ajax_links_response($type = 'ajax', $nid = 0) {
$output = _ajax_links_loadernode($nid);
if ($type == 'ajax') {
$commands = array();
$commands[] = ajax_command_replace('#content', '<div id="content">' . $output . '</div>');
$commands[] = ajax_command_changed('#content');
$commands[] = ajax_command_invoke(NULL, "ajax_fade");
$page = array(
'#type' => 'ajax',
'#commands' => $commands
);
ajax_deliver($page);
}
else {
$output = '<div id="content">' . $output . '</div>';
return $output;
}
}
function _ajax_links_loadernode($nid = 0) {
$node = node_load($nid, NULL, false);
if ($node) {
$vnode = node_view($node);
return theme("node", $vnode);
}
//return views_embed_view('portfolio', 'page', $nid);
}
?>
смысл есть.
присмотрись к [module=backbone]
core
пробовал кто?