Как создать виртуальную страницу?

Главные вкладки

Комментарии

Аватар пользователя Cozmi Cozmi 18 февраля 2011 в 12:22

например, если нужно создать страницу типа "Contacts", можно просто создать ноду с адресом /contacts, а если мы хотим создать страницу users/%/contacts, то как быть?

Аватар пользователя otmoroz otmoroz 18 февраля 2011 в 13:41

омг. в папке темы создаешь страницу node-номерматериала.tpl.php

только это не виртуальная страница, хотя www - wirtual word world, правда? Smile

Аватар пользователя Cozmi Cozmi 18 февраля 2011 в 14:03

цель: создать для каждого юзера страницы типа
users/%username/contacts.. на которых помимо нужного нам вида с контактами, будут возможно и другие виды, другие формы и много всего интересного

омфг, я вроде выразился однозначно:
если просто создать шаблон для алиаса и подключить его в темплейте, мы получим титл: "Страница не найдена" (ПРИВЕТ) со всемы вытекающими

пост #1 говорит нам о том, что просто создать ноду не вариант, так как тогда нужна целая куча нод: one page per user * count of users => нужно написать, что-то вроде

<?php
function hook_menu() {
  
$items = array();
    
$items['users/%/contacts'] = array(
    
'title' => t('User contacts'),
    
'type' => MENU_CALLBACK,
);
}
?>

однако получаю "В доступе отказано"

Аватар пользователя vitg vitg 18 февраля 2011 в 14:29

В доступе отказано из-за отсутствия page callback
hook_menu

А еще функция должна начинаться с имени модуля.
То есть function mymodule_menu()

Аватар пользователя direqtor direqtor 18 февраля 2011 в 16:14

Поищите тут уроки по созданию своих модулей. Раздел со страничным контентом.

Еще посмотрите в сторону модулей Profile (в ядре) и Content Profile.

Аватар пользователя Cozmi Cozmi 18 февраля 2011 в 16:33

return drupal_get_form('идсуществующейформы');

и просто не вывожу контент в page.. работает, однако как-то это все криво

Аватар пользователя Cozmi Cozmi 21 февраля 2011 в 1:31

node-номерматериала.tpl.php -- это вообще тут причём?
(вас уже двое)

проблема, как говорится, почти решена... третий раз повторю, в чём она заключалась
нужно темизировать страницы типа: сайт/users/masha/contacts, сайт/users/sasha/contacts, сайт/users/username/contacts, если вы помните, таких страниц можно наделать через views -> вид=страница, с адресом users/%/contacts, где в аргументах пребывает наш любимый юзернэйм, а так как я не любитель блоков, то хочу создать не просто страницы с видом в качестве контента,.. а свой шаблон для таких страниц.

невалидное решение в том, что в темплейте стандартно подключаем шаблон к нужным алиасам и через hook_menu приклеиваем колбэк, который возвращает нам, страницу с левой (ненужной) формой в контенте на страницах типа users/%/contacts.

-Зачем это всё? Только ради Заголовка? - я сам не знаю).. заголовок можно и в шаблоне прописать.