необходимо на странице профилей выводить блок views, но для каждого пользователя свой, то есть с его позициями.
страницу views создала с раскрытым фильтром по пользователю, блок на основе страницы тоже создала. на странице профиля вывожу его как регион
<?php if ($profile_position): ?>
<?php print render($profile_position); ?>
<?php endif; ?>
и в template
<?phpfunction business_preprocess_user_profile(&$variables) {
$variables['profile_position'] = block_get_blocks_by_region('profile_position');
}?>
фильтр на странице views принимает GET, и данные фильтруются по нужному пользователю.
а вот как этот GET передать в блок views, который выведен на странице профиля?
Комментарии
Екатерина, не путайте мозги запутанные, блок все же на странице профиля пользователя или на странице какой то вьюхи?
Но в любом случае можно добавить в блок контекстный фильтр и ЕСЛИ ЗНАЧЕНИЯ ФИЛЬТРА НЕТ В URL - Передать значение по умолчанию - PHP-код и в коде брать значение из $_GET
drupby, подскажите, пожалуйста, где искать в блоке Контекстный фильтр "ЕСЛИ ЗНАЧЕНИЯ ФИЛЬТРА НЕТ В URL"?
Вот не вижу я его и всё... ((
P.S. Использую Drupal 7.
блок на странице пользователя. я просто пробовала, у меня и страница и блок с одинаковыми данными.
фильтр есть, и значение есть в url если ссылка на страницу, и имя пользователя в шаблоне профиля если блок. но я никак не могу понять, как передать значение в блок?
Так в чем проблема брать айди юзера из урла?
айди юзера и в шаблоне профиля есть. я не могу передать его в блок.
print views_embed_view(VIEWNAME, DISPLAYNAME, $user_id);
не получилось у меня по вашему примеру, но зато вот так работает
<?php print views_embed_view('profileposition', $display_id = 'default', $uid = $profile_uname);?>
в настройках вьюс
А если конкретнее? ) Захожу во вьюс, нажимаю Добавить у Контекстные фильтры выбираю нужное поле, а дальше всё... Где же это "ЕСЛИ ЗНАЧЕНИЯ ФИЛЬТРА НЕТ В URL"?
drupby, благодарю )