Темизация страницы юзера

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

Аватар пользователя tooez tooez 13 января 2017 в 9:18

Здравствуйте.
На страницу пользователя добавил те материалы, которые он добавлял на сайт. Через views.
Проблема в том, что теперь информация о юзере находится ПОД списком материалов.
Пробовал менять регион для блока - не помогает (только если совсем вниз, но это не то).
Может, как то программно сместить вверх? Через css не знаю как сделать. Помогите.

Комментарии

Аватар пользователя Mihail.space Mihail.space 13 января 2017 в 9:34
1

информация о пользователе выводится в в регионе content, файле page.tpl.php вывод этого региона
<?php print render($page['content']); ?>
Что вы можете сделать
Используя интерфейс мышки вы можете вывести блок views ниже вывода содержимого на странице блоков
и задать соответствующие ширины и смещения в css

Или создать файл page--user.tpl.php
скопировать в него содержимое из page.tpl.php, удалить лишнее, дописать своё, к примеру свой регион

 <?php if (!empty($page['user_block'])): ?>
         <div class="user-block">
            <?php print render($page['user_block']); ?>
         </div>
         <?php endif; ?>

И в файл .info своей темы добавить этот регион, чтобы его подхватил друпал
regions[user_block] = User block
Вывести в этом регионе ваш блок.
Потом так же с помощью css навести порядок
Но учтите, что по такому шаблону у вас станут работать страницы входа, регистрации и восстановления паролей.

И еще один вариант, используя интерфейс мышки и модуль panels набрать страницу пользователя как захочется.

Аватар пользователя tooez tooez 13 января 2017 в 9:49

Mihail.space wrote:

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


Вот это плохо! А блок не прописывается в код? Мне нравится идея создать отдельный шаблон для страницы юзера.

Аватар пользователя dgastudio dgastudio 13 января 2017 в 10:20

поразителен уровень советчиков...

user-profile.tpl.php

и в нем, прописываете нужную вам логику.

если нужен views, views_embed_view

Аватар пользователя tooez tooez 13 января 2017 в 11:09

dgastudio wrote:

поразителен уровень советчиков...
user-profile.tpl.php
и в нем, прописываете нужную вам логику.
если нужен views, views_embed_view


Не ругайтесь.
Я попробую и то, и другое )

Аватар пользователя dgastudio dgastudio 13 января 2017 в 11:47

отвечу вопросом на на вопрос. если вам нужно колесо поменять, вы будете кузов красить?
page.tpl.php это вывод ВСЕХ данных страниц включенные в body.

user-profile.tpl.php, это вывод данных юзера, на странице /user

Аватар пользователя tooez tooez 13 января 2017 в 13:34

А теперь такой вопрос - как программно вставить блок? Я php не знаю. Потому и не знаю, что писать...
В файле user-profile.tpl.php вот такая конструкция:

<?php
<div class="profile"<?php print $attributes?>>
  <?php print render($user_profile); ?>
</div>
?>

Как понимаю, после <?php print render($user_profile); ?> нужно вставить код блока с материалами.

Аватар пользователя tooez tooez 13 января 2017 в 14:11

Тоже эту статью нашел! По ней пробую делать.
Чтобы я ни прописывал в файл user-profile.tpl.php на странице изменений не вижу!
Кстати, как написано в статье «Где $module_name это имя модуля, в котором определён блок, а $block_delta — номер блока. Эти параметры можно посмотреть в адресной строке при настройке блока (скриншот).»
У меня в адресной строке бред какой то написан «views/39d0a80ff24d69e8e68d56762d1fe3cb/configure?destination=user/1»)
Я смотрел имя блока через инспектора и views.

Аватар пользователя warh warh 13 января 2017 в 15:15
1

Кстати говоря да, у меня тоже страница не меняется.
Вставляю код в виде

 <?php 
$block 
module_invoke('views''block_view''view_block_users_materials');
echo 
render($block['content']);
?>

ии все, никакого результата!
Тут еще видео нашел, попробую по нему сделать.

Аватар пользователя warh warh 13 января 2017 в 19:56

Мешало то, что эти материалы растягивались на всю ширину страницы, а не по размеру контента ) Можно, конечно, было через css сделать, но подгонять это все было бы геморроем! Особенно, Если бы стили менялись.
А так добавил регион, который используется лишь на одной странице и все ) Думаю, это проще.
Такой вопрос - регионы тормозят сайт?