views в профиле

Аватар пользователя y-vo y-vo 8 июня 2013 в 15:46

Доброго времени суток.
Вопрос на тему для большинства как я понял простую и само собой разумеющуюся. Возможно ответ на него лежит на самой поверхности, но я уже пол дня бьюсь и не могу найти конкретного ответа(
Подскажите пожалуйста, желательно как можно подробнее:
как вывести созданную вьюшку в профиле пользователя? Причем необходимо чтобы в этой вьюшке отображались матерьялы, которые созданы именно этим пользователем. Необходимо мне для создания галереи в профиле пользователя. Кроме того нужно чтоб эта вьюшка не затирала данные профиля, а выводилась под ними.

0 Thanks

Комментарии

Аватар пользователя alesel alesel 8 июня 2013 в 15:50

Вывод блока на определенных страницах. В самой вьюхе ставим контекстный фильтр по uid

Аватар пользователя y-vo y-vo 8 июня 2013 в 17:46

Ну допустим у меня страницы юзеров вида users/имя юзера , что мне нужно вписать чтоб она выводилась на странице каждого профайла? users/*?
Как то у меня странно скрипт ведет себя- до того как сохранить изменения выводит превью, после того как сохраняю превью иссчезает, как будто не выполнены условия фильтров, не пойму с чем это связано.

Аватар пользователя y-vo y-vo 8 июня 2013 в 19:02

ок, так в адресе мне следующее надо прописать? users/* И еще- в контекстном фильтре я выбрал Автор uid, это то же правильно?

Аватар пользователя afterman afterman 8 июня 2013 в 19:07

Все делается очень просто.
Первое, как говорил alesel нужно добавить контекстный фильтр на UID во вьюсе.
Второе, делаем шаблон user-profile.tpl.php (смотрим дефолтный в модуле user).
Третье, выводим вручную в шаблоне где надо этот вьюс, вот так:

<?php print views_embed_view('views-name','block', arg(1)); ?>
Аватар пользователя alesel alesel 8 июня 2013 в 19:14
afterman wrote:

Все делается очень просто.
Первое, как говорил alesel нужно добавить контекстный фильтр на UID во вьюсе.
Второе, делаем шаблон user-profile.tpl.php (смотрим дефолтный в модуле user).
Третье, выводим вручную в шаблоне где надо этот вьюс, вот так:

<?php print views_embed_view('views-name','block', arg(1)); ?>

Точно. Вот я ступил то)) Легче было просто блок вывести программно) Че-т я вообще не подумал об этом) Пора идти отдыхать)

Аватар пользователя y-vo y-vo 8 июня 2013 в 19:44

А если делать именно через views вывод, без правки шаблона, то какой путь нужно указывать и подойдет ли в качестве параметра фильтра контекстного фильтра Автор uid?

Аватар пользователя afterman afterman 9 июня 2013 в 0:43
y-vo wrote:

А если делать именно через views вывод, без правки шаблона, то какой путь нужно указывать и подойдет ли в качестве параметра фильтра контекстного фильтра Автор uid?

А зачем вам страница views, делайте блок )) По поводу фильтра, смотря какая цель.

Аватар пользователя alesel alesel 9 июня 2013 в 0:45
afterman wrote:
y-vo wrote:

А если делать именно через views вывод, без правки шаблона, то какой путь нужно указывать и подойдет ли в качестве параметра фильтра контекстного фильтра Автор uid?

А зачем вам страница views, делайте блок )) По поводу фильтра, смотря какая цель.

Он про путь не про страницу views имеет ввиду. А путь, который вводится в параметрах отображения блока :)

Все же лучшим решением будет просто вывод напрямую в tpl.

Аватар пользователя y-vo y-vo 9 июня 2013 в 9:53

ну для общего развития хотелось бы и так и так уметь) чувствую такие задачи будут еще периодически возникать, хочу просто сам принцип понять.

Quote:

По поводу фильтра, смотря какая цель.

мне необходимо вывести содержимое определенного типа матерьяла на странице профиля под основной инфой, но выводиться матерьял должен только тот, автором которого он является, т.е. хочу создать таким образом как бы галерею, что то типо "мои фото".
Вот меня и интересует, подойдет ли в качестве параметра Autor uid и в пути users/*, если адрес к странице юзеров следующий - users/имя юзера
Пробовал правда такие параметры, что то не получилось.

Аватар пользователя afterman afterman 9 июня 2013 в 14:21
y-vo wrote:

ну для общего развития хотелось бы и так и так уметь) чувствую такие задачи будут еще периодически возникать, хочу просто сам принцип понять.

Quote:

По поводу фильтра, смотря какая цель.

мне необходимо вывести содержимое определенного типа матерьяла на странице профиля под основной инфой, но выводиться матерьял должен только тот, автором которого он является, т.е. хочу создать таким образом как бы галерею, что то типо "мои фото".
Вот меня и интересует, подойдет ли в качестве параметра Autor uid и в пути users/*, если адрес к странице юзеров следующий - users/имя юзера
Пробовал правда такие параметры, что то не получилось.

Автор:uid подойдет, а блок выводить на адрес user/%

Аватар пользователя serega111 serega111 9 июня 2013 в 17:19
"afterman" wrote:

Все делается очень просто.
Первое, как говорил alesel нужно добавить контекстный фильтр на UID во вьюсе.
Второе, делаем шаблон user-profile.tpl.php (смотрим дефолтный в модуле user).
Третье, выводим вручную в шаблоне где надо этот вьюс, вот так:
<?php print views_embed_view('views-name','block', arg(1)); ?>

Ох, руки за такое решение оторвать.
Если у вас есть display типа block во вьюхе, зачем его выводить в шаблоне? Идете в настройки блоков и размещаете там, где вам нужно. Фильтр ставите для Content:Author, значение по умолчанию - uid из урла

Аватар пользователя afterman afterman 9 июня 2013 в 19:09

Программный вывод, как я предложил подразумевает больше возможностей, а значит есть возможность темизации всего, а не отдельного блока. Так более удобно. Но автору решать, как ему лучше :)

Аватар пользователя y-vo y-vo 9 июня 2013 в 19:42

Спасибо- теперь наконец то понял как вывести на странице пользователя блок. Но вот с фильтром у меня как то не выходит- установил контекстный фильтр Autor uid, но все равно материал в блоке показывается на всех страницах пользователей, хотя его авторами они не являются. Может можно сделать это еще как либо?

Аватар пользователя serega111 serega111 10 июня 2013 в 7:41
"y-vo" wrote:

Но вот с фильтром у меня как то не выходит- установил контекстный фильтр Autor uid, но все равно материал в блоке показывается на всех страницах пользователей, хотя его авторами они не являются. Может можно сделать это еще как либо?

Вы видимо не установили значение по умолчанию. Как то так это должно выглядеть

Аватар пользователя y-vo y-vo 10 июня 2013 в 17:03

Оно самое, большое спасибо! Сам бы точно не разобрался. Правда появился вопрос теперь по другой теме) Попробую пока что своими силами решить.