views в профиле

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

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

Комментарии

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

8 июня 2013 в 17:46

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

8 июня 2013 в 19:02

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

<?php print views_embed_view('views-name','block', arg(1)); ?>
8 июня 2013 в 19:07

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

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

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

8 июня 2013 в 19:14

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

8 июня 2013 в 19:44

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

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

9 июня 2013 в 0:43

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

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

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

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

9 июня 2013 в 0:45

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

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

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

9 июня 2013 в 9:53

y-vo wrote:
ну для общего развития хотелось бы и так и так уметь) чувствую такие задачи будут еще периодически возникать, хочу просто сам принцип понять.
Quote:
По поводу фильтра, смотря какая цель.

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

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

9 июня 2013 в 14:21

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

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

9 июня 2013 в 17:19

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

9 июня 2013 в 19:09

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

9 июня 2013 в 19:42

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

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

10 июня 2013 в 7:41

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

10 июня 2013 в 17:03