Доброго времени суток! Столкнулась с проблеммой. Необходимо вывести страничку с галереей в отдельный блок чтоб прикреплять ее к другим страницам. В архивах нашла способ через - node_view + node_load, формат ввода в блоке - php.
Порывшись в функциях вывела код - <?php print node_view(node_load($nid = 111), $view_mode = 'full', $langcode = NULL); ?>
И добавила в новый блок. Но как итог выводит только значение - Array.
Уже и так и сяк меняла код но результата нет. Может кто то подсказать в чем ошибка?
Комментарии
Это должно помочь
Я правильно поняла что после установки модуля нужно вставить этот код в node.tpl.php ?
<?php
// node.tpl.php
if (isset($node->nodesinblock)) {
// Theming for node in block
}
else {
// Normal theming
}
?>
Нет. Это для темизации....
Я не пользовался этим модулем. Скорее всего нужно создать новый блок и в настройках блока указать ноду, которую хотите показать в блоке.
Попробуйте....
Только что пришло в голову: можно реализовать через панели. Вот модуль для вывода панели как блока.
В том то и дело что я создала блок. Но в нем невозможно прописать что там отобразить. Либо текст либо изображение. Я так поняла исходно в той теме которую я использую использовали Views по под галерею я создавала отдельный тип отображения и я не могу найти как привязать его к блоку через Views
Я же дал ссылку на модуль еще в первом комментарии: https://www.drupal.org/project/nodesinblock
Я вот с ним сейчас и разбираюсь. Установила и подключила. Пока не вижу какие параметры оно добавило. В настройках блока который появился вместе с модулем я не вижу функции выбора
На странице модуля первый абзац прочтите пожалуйста.
Я прочитала. У меня ни в нодах ни в самом блоке нет связующих функций. Нашла мануал как правильно настроить модуль - http://www.htmlgoodies.com/beyond/webmaster/toolbox/article.php/3903166/...
Но у меня нет перехода на конфигурацию модуля как указано на скринах
Нужно очистить кеш и меню появится
Кэш очистила...
Нашел другой модуль
Вот страница с описанием процесса установки и настроки
Все, добила тот первый модуль который Вы показали. Работает. Меню выводилось не в конфигурации модулей а в структуре. Настроила. Отображает нормально но есть некоторый дискомфорт от того что отображает и название блока и название ноды но думаю это можно подправить.
С этим уже можно работать по крайней мере :).Модуль отображения ноды в блоке можно добавить с избранное.
Спасибо за помощь!
Пожалуйста!
В настройке блока уберите заголовок. Можете поставить display suit - отличный модуль для кастомизации отображения ноды.
Спасибо, буду пробовать.
А еще такой вопрос возник - я сейчас разбираю Colorbox и столкнулать с проблемой что превью в галерее не меняют размер что бы я ни меняла в настройках отображения галереи. Это нужно лезть в настройки конкретно Колорбокса чтоб изменять превьюшки?
И еще такое - возможно ли задать стиль конкретно под изображения в галерее? Сделать к примеру им бордер или подложку с фоном так чтоб не ломать общий цсс?
За размер изображений отвечают стили изображений. Необходимо создать стиль и указать его в настройках отображения. Если используете colorbox, то в настройках отображения выбираете его для вывода изображения? Заходите в настройки colorbox (также на странице настройки отображения) и указываете стили для превью и т.д.
Возникла проблема - чтоб отображать галерею в ряд я прописала в файле цсс строку - .node .field-item {float:left; padding: 15px; margin-bottom:15px }
Из за этого у меня на странице контактов пропала карта. Если прописать вместо float:left; - display: inline; то карта снова появляется на своем месте но галерея открывается без учета отступов. все слитно. можно это как то обойти?
Установите этот модуль.
Оберните поле, которое выводит изображения в див, дайте имя классу и этому классу уже в css задавайте правила. .node .field-item - это не правильно. может и зацепит стили других полей ноды.
Я верно выставила поля? Я толком и поля галереи заменить не могу...но то как оно сейчас стоит не помогает
Да, все верно. Осталось задать правила css.
Полазила еще по форуму и нашла ответ - можно все решить без использования модуля.
В стиле цсс простотнужно дополнить то что я пыталась сделать выше - итог
.node .field-name-field-gallery .field-item { float:left; margin: 15 15 15 15};
вместо выделенного gallery пропишите машинное название созданного вами поля для галереи
вставлять этот код нужно
vasha_tema/css/styles.css
У меня заработало. И карта на месте
Дело Ваше. Я использую филд груп не только по этой причине....
Также переопределение стилей не есть гуд. В конце концов получите кривой файл стилей. Выделяю в отдельный класс получаю возможность использовать один класс для разных случаев, а это меньше кода и меньше неразберихи. Раньше использовал Ваш метод и ковырялся в километрах повторяющихся строк, а когда через какое-то время заказчик просит что-то поправить.......
Просто я попыталась задать в цсс стили к диву группы но как итог оно ничего не подхватило. Возможно это нюансы темы которую я использую.
В целом я не переопределяла стиль поля. Как я поняла я написала уточнение для созданного под галерею поля с уточнением того где это поле лежит. Я перепроверила весь сайт. Ничего кроме галереи не изменилось. Тоесть и этот метод в дангом случае неплох. Хотя и с предложенным Вами методом постараюсь разобраться
Не хочу холиварить.....
Если Вам так удобно, то вопрос закрыт.
Но когда придется заниматься большим проектом Вы столкнетесь с множеством проблем связанных с таким подходом к построению сайта.ИМХО