Сделать страницу и вставить html и js

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

Аватар пользователя Bezlepkin Bezlepkin 15 апреля 2013 в 18:27

Привет!
Через hook_menu делаю страницу. На ней нужно вывести html и javascript.

<?php
function flights_menu() {
  
$items['flights'] = array(
    
'title' => 'Flights searching',
    
'page callback' => 'flights_page',
    
'access arguments' => array('access content'),
    
'type' => MENU_NORMAL_ITEM,
    
'file' => 'flights.pages.inc',
  );
  return 
$items;
}
?>

В файле flights.pages.inc
Создал функцию flights_page

Проблема в том: Как туда можно засунуть кусок кода состоящий из html и js.
Можно просто:
return 'тут весь мой код';
Но в коде есть и '' и "" кавычки.
Может как то поэлегантей можно типа inlude или как нибудь еще?

Комментарии

Аватар пользователя sg85 sg85 16 апреля 2013 в 9:49

Вы частично форумом ошиблись, но, на сколько помню, как-то так

function my_func(){
return <<<HTML
  <div>foo bar "'</div>
HTML;//вместо HTML может быть что угодно, чего нет в содержании, иначе сработает как закрывающий тег(если это тегом можно назвать) в самом неподходящем месте
}

цеплять js лучше всего все же через drupal_add_js

правда не совсем понял, чем Вам нода не угодила?

Аватар пользователя Bezlepkin Bezlepkin 16 апреля 2013 в 10:21

Нода мне кажется подходит лучше для новостей, всяких там каталогов когда много содержимого одного типа материала.
А вот когда надо просто одну страницу сделать.
Видимо придется через ноду делать.

Аватар пользователя sg85 sg85 16 апреля 2013 в 10:30

"Bezlepkin" wrote:
Нода мне кажется подходит лучше для новостей, всяких там каталогов когда много содержимого одного типа материала.

Обычно создается тип материала(а в стандартном режиме установки он есть по умолчанию) "Страница", и используется как раз для таких вот страниц.

Подобный Вашему способу лично я обычно(но не всегда) использую в случаях, когда необходимы PHP вставки, т.е. стараюсь по возможности не использовать фильтр PHP, тупо потому, что обработка функции eval довольно долгая.