paladin_solo: Блог

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

Проблема с Profile > checkbox

16 августа 2010 в 12:23

Есть пару дополнительных полей в регистрации, созданных с помощью Profile. Добавил туда еще и checkbox ([ ]я согласен с правилами), и поставил галку "обязательное поле для ввода". Но проблема в том что регистрация пропускает это поле без валидации.
Как это решить?

Как создать редактируемый профиль для юзера?

13 августа 2010 в 12:44

Некоторые поля для регистрации я делал с помощью logintoboggan (логин, email, password)
Остальные (город, штат, адрес) с помощью стандартного модуля Profile

Так вот зарегистрированному юзеру нужно изменять свою информацию введенную при регистрации. (юзер должен иметь что-то вроде своей страницы)
Подскажите как это лучше сделать?

Как сделать видимыми все переменные и массивы для темплейта?

11 августа 2010 в 11:24

Нужно сделать видимыми все переменные и массивы в темплейте, которые я объявляю в модуле.
В хук меню пишу так:

<?php
function pages_menu() 
{
       
$items['property'] = array(
        
'title' => 'Property',
        
'page callback' => 'pages_property',
        
'access arguments' => array('access content'),
        
'type' => MENU_CALLBACK,
      );
}
?>

Ф-я pages_property:

<?php
function pages_property()
{
        
$test "This is test!";
    
    
ob_start();
    include 
"sites/all/themes/public_rent/property.tpl.php";
    
$ob_contents ob_get_contents();
    
ob_end_clean();
    
    return 
$ob_contents;
}
?>

Если сделать так, то переменная $test отображается, но сам темплейт property.tpl.php засовывается в page.tpl.php, а мне как раз этого не надо. Т.к. у property.tpl.php немного другой дизайн.
Я решил сделать page-property.tpl.php, но если так, то переменные не видны в темплейте(( Как это сделать?

Как разбить сайт на страницы (темплейты .tpl.php)?

3 августа 2010 в 18:54

В проекте есть несколько страниц:

  1. Главная страница
  2. Страница поиска (результаты поиска)
  3. Детальное отображение найденных товаров через поиск
  4. Страница контактов

Главную страницу реализовал с помощью page-front.tpl.php.
Для всех остальных страниц сделал отдельный модуль pages. Приблизительно такого содержания:

<?php
function pages_menu() 
{
    
$items = array();

    

$items['search'] = array(
            
'page callback' => 'pages_search',    
            
'access callback' => 'user_access',
            
'access arguments' => array('administer mainlends'),
            
'type' => MENU_NORMAL_ITEM
            
);

    

$items['contacts'] = array(
            
'page callback' => 'pages_contacts',    
            
'access callback' => 'user_access',
            
'access arguments' => array('administer mainlends'),
            
'type' => MENU_NORMAL_ITEM
            
);

    return 

$items;
?>

И соответственно темплейты page-search.tpl.php и page-contacts.tpl.php.
Подключил меню (стандартный модуль menu).

Вопросы:
1) Как передать несколько массивов в страницу Поиска?
Неужели тупо через колбек функцию писать html-php код??

<?php
function pages_search()
{
    
//берем чего-нибудь из БД..

    

$queryResult db_query($query);
    while (
$links db_fetch_object($queryResult)) 
    {
        
$page_content .= "<div>".$links->title."</div>";
    }
    return 
$page_content;
}
?>

2) Как сделать страницу "Детальное отображение найденных товаров"?

Как реализовать 2 темы на сайте? Одна тема - на главную, вторая - для остальных страниц.

3 августа 2010 в 12:40

Собственно САБЖ. Имеется 2 разных дизайна. Один, полностью на флеше - на главной. Второй, обычный html/css - на всех остальных.

Помогите понять концепцию Drupal

29 июля 2010 в 19:26

Здравствуйте. Сразу скажу Друпал знаю пару часов. Взял Drupal не по своей воле. Общее впечатление не самое хорошее, надеюсь это не надолго. Есть задание создать тему Drupal, то есть интегрировать html, css, js в шаблоны. Я как любитель хорошего стиля MVC был удивлён, что MVC в Друпале как-то "не по-русски" (не по-человечески) реализовано или я чего-то не разобрал. Помогите просветлить:
1) Модули - это и есть контроллеры?
2) З View ничего не понятно. Есть в теме только page.tpl.php, node.tpl.php ну и еще пару темплейтов стандартных. Там есть глобальная переменная $content. Опять же откуда она берётся?? Один темплейт page.tpl.php сгодиться только если страницы статические. А как сделать если я хочу что-нибудь вытянуть из базы, прописать что-нибудь в контроллере и передать данные в свой темплейт, приведите пример пожалуйста.
3) Не понял как реализовать переключение между страницами. Есть пару страниц, 1я страница - главная, приветствие и всё такое, 2я страница - форма для заполнения данных, 3я - поиск по базе.
4) Ноды - это типа статический контент?
5) Примеров сайтов на Друпале так и не нашёл для скачивания (имею ввиду примеры).

Спасибо за помощь.