[РЕШЕНО] Как попасть на галлерею Gallerix?

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

Аватар пользователя kissfm kissfm 23 февраля 2009 в 14:55

Пользователь создал материл типа Album, забил его фотками, все красиво...слайд работает...
Потом переходим в любое другое место или выходим с сайта. После этого никаких упоминаний о созданной галереи нету. Попасть прямо на неё нет возможности. Лишь через /content или ссылку, которую я сделал в виде блока с кодом php и используя Pathauto.
Это еще ладно (хотя меня терзают смутные сомнения, чтобы так оставлять), но если один пользователь смотрит анкету другого и ему нужно посмотреть галерею, а доступа к ней нету негде...
Может что подскажите?
Спасибо.

Комментарии

Аватар пользователя E.L. E.L. 24 февраля 2009 в 7:00

Для того, чтобы пользователь мог удобно вернуться к своим альбомам, созданным через gallerix, можно сделать view-шку (или посмотрите, во view вроде есть готовая, ее нужно активировать).
Вот экспорт той View (DRUPAL 5!), которая стоит у нас на сайте и выводит ссылку в меню "мои альбомы", по клику на который выходят созданные альбомы пользователем:

$view = new stdClass();
  $view->name = 'gallerix_grid';
  $view->description = 'Просмотр альбомов в виде общей таблицы';
  $view->access = array (
  0 => '2',
);
  $view->view_args_php = '';
  $view->page = TRUE;
  $view->page_title = 'Все альбомы';
  $view->page_header = '';
  $view->page_header_format = '1';
  $view->page_footer = '';
  $view->page_footer_format = '1';
  $view->page_empty = '<p>У вас нет пока альбомов.</p>';
  $view->page_empty_format = '1';
  $view->page_type = 'list';
  $view->url = 'gallery';
  $view->use_pager = TRUE;
  $view->nodes_per_page = '10';
  $view->sort = array (
    array (
      'tablename' => 'node',
      'field' => 'created',
      'sortorder' => 'DESC',
      'options' => 'normal',
    ),
  );
  $view->argument = array (
    array (
      'type' => 'uid',
      'argdefault' => '2',
      'title' => 'Альбомы %1',
      'options' => '',
      'wildcard' => '',
      'wildcard_substitution' => '',
    ),
  );
  $view->field = array (
    array (
      'tablename' => 'gallerix',
      'field' => 'gallerix',
      'label' => '',
      'handler' => 'gallerix_views_handler_album',
      'options' => 'thumbnail',
    ),
  );
  $view->filter = array (
    array (
      'tablename' => 'node',
      'field' => 'type',
      'operator' => 'OR',
      'options' => '',
      'value' => array (
  0 => 'album',
),
    ),
    array (
      'tablename' => 'node',
      'field' => 'currentuid',
      'operator' => '=',
      'options' => '',
      'value' => '***CURRENT_USER***',
    ),
  );
  $view->exposed_filter = array (
  );
  $view->requires = array(node, gallerix);
  $views[$view->name] = $view;

Задача с выводом альбомов при просмотре профиля другого пользователя решается аналогично, я бы сделал блок с видимостью только в профиле, и по параметрам там выводил заголовки альбомов.
Если сделаете по-другому - напишите как, будет полезно многим.

Аватар пользователя kissfm kissfm 24 февраля 2009 в 10:24

Решение таково:
Я использую модуль Content Profile для создания пользователями своих анкет по заготовленному шаблону с полями CCK для каждой из ролей, которую они выберут (единежды) при регистрации.
В настройках каждого типа материала есть в блоке Content Profile опция "Use this content type as a content profile for users". Поставил я её и для Album и после этого под анкетой пользователей отображается их созданная родная галлерея.
(Но ссылку на нее все-таки в блоке я оставил.)
И во view да есть готовая. Не помню только я ли её активировал с самого начала или она уже была такой.