вообщем задача такая:
1) есть список арендаторов-должников в формате .xls либо .csv с полями "ИНН" "Наименование арендатора" "Задолженность", этот список какимто макаром должен импортироваться в некую таблицу в БД.
2) Далее для того чтоб пользователь мог получить информацию о задолженности должен быть создан какойнибуть тип материала, с одним единственным текстовым полем (либо Exposed Filter в views) в которое пользователь вводит свой ИНН, и нам выводятся результаты выборки из таблицы.
Вообще в приоритете я хотел бы сделать это все через views.
Второй пункт наверное можно сделать через Exposed Filter, а вот первый вообще не представляю, есть ли в views инструменты для импорта данных форматов? Либо всетаки придется писать собственный модуль? Подскажите где копать? Что читать?
Комментарии
сделайте тип контента должники и залейте туда .csv, а потом с помощью вьюс делайте выборку
Дак views же делает выборку по нодам это значит надо создавать для каждой строки из .csv свою ноду? Так должников же этих около 2000 штук, к пенсии наверное закончу. Либо как вариант добавить .csv в контент ноды, но тут тоже неполучится ибо вся информация из файла будет храниться в одной ячейке таблицы. Или я чтото неправильно понял?
Тоже первое что приходит в голову.
Но можно еще попробовать связку http://drupal.org/project/feeds и http://drupal.org/project/data
С Data не работал.
под каждого должника своя нода) node_import в помощь)
но тут возникают проблемы, мне например необходимо чтобы эти поля были скрыты от любых пользователей, тоесть чтобы они могли получать к ним доступ введя только свой ИНН, в связи с этим со всем возникают следующие вопросы, а именно:
1) Эти ноды не должны индекироваться, чтобы пользователь не мог получить к ним доступ через поиск
2) Чтобы решить первую проблему можно вводить в содержание ноды чтонибудь не значительное, добавлять дополнительные поля спомощью ССК в которые и будем вводить наши секретные данные, затем убирать у пользователей право видеть эти поля, но тут тоже возникнет проблема, т.к. через views представление пользователь эти поля не увидит
1. решается через разрешения
2. возникает вопрос, а как бы вы это решили в своем модуле?
тоесть через admin/user/permissions, но разве там можно назначать разрешения на целый тип материала? Или для этого модуль есть какйото?
а) При установке модуля создается таблица в которую собственно и заносим данные
б) Для администрирования (просмотра, импорта из csv) таблицы создается в admin/settings какойнить дополнительный пункт меню и ставится ограниченный доступ (либо доступ по разрешениям)
в) Создается нода, либо блок в который выводим форму с текстовым полем и кнопкой, с помощью которого пользователь и получает запрашиваемые данные
1. ИНН это же поле ССК?
2. б) как ставится доступ по разрешению?
проблема заметно усложняется))
мне мысль пришла в голову, что проще на мыло указанное при регистрации отсылать
все, всем спасибо, проблему действительно решил с помощью модулей http://drupal.org/project/feeds и http://drupal.org/project/data, только они какието хитровысранные, два дня с ними возился, видимо писали их чукчи, описание даже адекватно не соизволили написать, пришлось решать методом научного тыка, но главное работает.
та уже не важно ))
<?php
//функция передает аргументы доступа кудато, я так понимаю в admin/user/permissions
function hook_menu() {
$items['mymenu'] = array(
'title' => 'Greeting',
'page callback' => 'mymenu_hello', //функция которая будет исполняться при переходе на страницу
'access callback' => 'user_access', //доступ по разрешениям, TRUE - полный доступ
'access arguments' => array('receive greeting'), //аргументы доступа
'type' =>MENU_NORMAL_ITEM,
'weight' => 1,
);
}
function hook_perm() {
return array('receive greeting');
} //собственно функция которая будет исполняться при переходе на
//страницу которую создали, может быть форма, выборка из БД, да что угодно
function mymenu_hello(){
----
} ?>
а вообще я это выкопал из Вандюка который еще по друпалу пятой версии, хотя по шестой тоже есть. Глава 4. Система меню, так что читайте его он вам лучше расскажет