Проблема с расположением модуля в шаблоне

Расположение sidebar - категории в InstantMaps

#1 28 сентября 2012 в 18:33
Здравствуйте!

Пожалуйста, помогите разобраться вот с какой проблемой над которой я уже "бьюсь" массу времени.

В процессе верстки шаблона под InstantCMS у меня появилась необходимость сделать так, чтобы меню "Каталог объектов" (InstantMaps: Категории) отображалось на нужных мне страницах сайта.
Для этого я пробую использовать следующие строчки:
{php} echo cmsModule("sidebar"){/php}
{php} cmsModule('sidebar'); {/php}

Вставляя их в файлы макетов шаблона "com_inmaps_items", а так же "com_inmaps_view" (пробовал оба варианта, но ниодин не работает правильно).

Если поставить данный код в "com_inmaps_items", то меню отображается, но так как после него грузятся объекты недвижимости, то вместо них почему-то снова появляется меню.

Если поставить данный код в "com_inmaps_view", то возникает ошибка вида:
Warning: Smarty error: unable to read resource: "com_inmaps_items.tpl" in X:\home\*******.ru\www\includes\smarty\libs\Smarty.class.php on line 1092

Ввиду особенностей дизайна, я не могу использовать <?php cmsModule('sidebar'); ?> размещая его в template.php.

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

Пожалуйста, подскажите, как быть?
#2 28 сентября 2012 в 19:32
изменит sidebar на другое и прописать его в позитион в шаблоне
Но если честно то не понял, вроде как вместо лошади в телегу пытаются запрячь телегу. Может хоть скины покажете.
#3 28 сентября 2012 в 19:42


изменит sidebar на другое и прописать его в позитион в шаблоне
Но если честно то не понял, вроде как вместо лошади в телегу пытаются запрячь телегу. Может хоть скины покажете.

Коля

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

Ситуация такова: Есть компонент InstantMaps. В файле шаблона template.php есть место, куда ставится код <?php cmsBody(); ?> отвечающий за отображение данного компонента на странице.

Проблема в том, что данный "<?php cmsBody(); ?>" отвечает за отображение как самой карты так и объектов рубрики располагающихся ниже, а как сделать так, чтобы в файле template.php можно было в отдельном месте отобразить карту, а в другом месте отобразить рубрику с объектами я не знаю. Может быть Вы знаете как это сделать?

Что это мне даст:
— я смогу в шаблоне в одном месте отобразить карту
— в другом месте отобразить рубрику с объектами
— в третьем месте отобразить sidebar
#4 28 сентября 2012 в 20:14
Значится возвращаете все назад в темплейте, всмысле сидебар. Затем идете в браузере гугле (но впринципе в любом браузере есть типа фиребирда) на категориях клац правай мыши, просмотр кода элемента. Находите
  1. <ul class="maps_cat_list">
копируете его в хтмл.

Затем идете в админку создать новый модуль в нем в режиме источника вставляете что скопировали
  1. <ul class="maps_cat_list">
  2. <li class="maps_cat_item" style="background:url(/images/photos/small/map_category23.png) no-repeat left top;">
  3. <div><a href="/maps/medicinskie-centry">Медицинские центры</a></div>
  4. <div class="subcats"><a href="/maps/medicinskie-centry/stomatologi">Стоматологии</a>, <a href="/maps/medicinskie-centry/travmpunkty">Травмпункты</a></div>
  5. </li>
  6. <li class="maps_cat_item" style="background:url(/images/photos/small/map_category24.png) no-repeat left top;">
  7. <div><a href="/maps/razvlekatelnye-centry">Развлекательные центры</a></div>
  8. <div class="subcats"><a href="/maps/razvlekatelnye-centry/nochnye-kluby">Ночные клубы</a>, <a href="/maps/razvlekatelnye-centry/stadiony">Стадионы</a>, <a href="/maps/razvlekatelnye-centry/restorany">Рестораны</a></div>
  9. </li>
  10. <li class="maps_cat_item" style="background:url(/images/photos/small/map_category25.png) no-repeat left top;">
  11. <div><a href="/maps/avtoservisy">Автосервисы</a></div>
  12. </li>
  13. </ul>
скажем вот так.

Обзываете его как хотите, ну там кому показать и вывод в сайбаре на нужных страницах.
Затем идете на хостинг в /templates/_default_/css/inmaps.css и копируете начиная с
  1. ul.maps_cat_list
все что в блоке
  1.  
  2. /* ========================================================================== */
  3.  
тобишь от
  1. ul.maps_cat_list
все что в блоке и до
  1. ul.maps_cat_list li.maps_cat_item .subcats{
себе в стили получится вот так




Естественно новые ссылки придется прописывать в модуле в ручную, но чай и категории не телепатически делаете.
#5 28 сентября 2012 в 20:26
Во я вобще затупил зачем такие пляски с бубном, категории между прочим то же модуль который можно вывести где угодно. Или я чего то не понял?
#6 28 сентября 2012 в 20:29


Во я вобще затупил зачем такие пляски с бубном, категории между прочим то же модуль который можно вывести где угодно. Или я чего то не понял ?

Коля

Вот как раз в том то и фишка, что категории задаются только в template, а если пробовать вручную вставлять ссылку (посредством include) на модуль непосредственно в файле шаблона, то ничего не выходит(…
#7 28 сентября 2012 в 20:33

Вот как раз в том то и фишка, что категории задаются только в template, а если пробовать вручную вставлять ссылку (посредством include) на модуль непосредственно в файле шаблона, то ничего не выходит( ...

Dmitryxxx
А можно скриншот посмотреть а то что то не понятно о чем речь.
#8 28 сентября 2012 в 21:23
В админке Главная — Компоненты — InstantMaps — Настройки-общие
Показывать на главной странице сайта:
При выводе компонента на главную в настройках сайта "только карта"

потом модуль где надо.
#9 28 сентября 2012 в 21:56


В админке Главная — Компоненты — InstantMaps — Настройки-общие
Показывать на главной странице сайта:
При выводе компонента на главную в настройках сайта "только карта"

потом модуль где надо.

Коля

У меня так и стоит. Дело вот в чем: сам по себе компонент с картой в дефолтном шаблоне идет на всю ширину экрана включая все состоящие в него блоки. Я пытаюсь сделать так, чтобы:
— карта размещалась на всю ширину
— весь контент под ней был фиксированной шириной и располагался по середине экрана (под картой)

Проблема в том, что карта объединена с блоком "объекты рубрики" (где перечисляются все входящие в рубрику (категорию) объекты) и сделать если она на весь экран по ширине, то и рубрика расширяется так же. Соответственно если ширину сделать фиксированной, то карта уже не расширяется на всю ширину экрана.
#10 28 сентября 2012 в 22:02
Проблему усугубляет то, что sidebar работает только если он указан в template.php, а в сами файлы шаблонов tpl его никак не вставить (если и вставляется, то из-за него перестает работать отображение объектов рубрики или вовсе появляются ошибки… хотя возможно я что-то не так делаю и пишу в коде)
#11 28 сентября 2012 в 22:07
Подскажите, каким образом можно вставить отображение sidebar непосредственно в com_inmaps_view.tpl (к примеру)?
#12 28 сентября 2012 в 22:17
Вот так ?

#13 28 сентября 2012 в 22:20

Подскажите, каким образом можно вставить отображение sidebar непосредственно в com_inmaps_view.tpl (к примеру)?

Dmitryxxx
Дело в том что есть модуль или компонент, он обрабатывает данные и передает их в шаблон, если компонент их не обработал то их и не будет в шаблоне, ну я так понимаю. Тобишь обращение происходит не к шаблону, а к компоненту.
#14 28 сентября 2012 в 22:28


Вот так ?


Коля

Вот так
Иллюстрация
#15 28 сентября 2012 в 22:36
Ну теперь самый простой вопрос что расширяется, а что сужается?
Тобишь основной контент имеет размеры карты или того что внизу.
Расширить нужно карту или сузить то что внизу.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.