Вы не зашли.
Задача:
Выложить какой-то информационный блок (реклама, cсылки на разделы, поздравления,...) только на главной странице сразу перед новостями.
Что требуется для решения:
1. Плагин ads
Решение:
1. Активировать плагин ads
2. В нашем примере будем использовать рекламный блок # 1 плагина ads
В настройках плагина в разделе "Настройки рекламного блока № 1" необходимо сделать:
2.1. Выбрать "размещение переменной" = морда
2.2. Положить в "динамически изменяемый текст" то содержимое, которое вы хотите использовать.
Учтите, что в этом блоке:
* работает HTML, JScript
* не работают BB-коды и PHP
3. В шаблоне сайта mail.tpl (для шаблона по умолчанию: /templates/default/main.tpl) перед переменной {mainblock} вставить {ads1}
Не в сети
к сожалению, это не всегда работает.
например, если в качестве элемента дизайна используются таблицы с бордером.
пример, утрированный:
<table width="100%" width="100%" border="1">
<tr><td>{ads1}</td><td>{ads2}</td><td>{ads3}</td></tr>
</table>
и в блоках ads прописан параметр "морда"
как следствие, имеем непонятные ячейки на всех страницах, кроме главной.
какие еще есть предложения?
Не в сети
Морда - только на головной странице
Нигде - не отображать нигде
Морда - только на головной странице
!Морда - везде кроме морды
Сквозная - на всех страницах
В статической странице - Внутри шаблона статической страницы
Новость.короткая - в короткой новости (шаблон news.short.tpl)
Новость.полная - в полной новости (шаблон news.full.tpl)
Новость - в короткой и полной новости (шаблоны news.short.tpl, news.full.tpl)
// ой. тебе надо вывести табличный блок только на главной? Тогода в ads1 можно добавить весь код
<table width="100%" width="100%" border="1">
<tr><td>КОД ДЛЯ ADS1</td><td>{ads2}</td><td>{ads3}</td></tr>
</table>
Изменено Wolverine (2009-05-19 14:34:35)
Не в сети
это утрированный вид кода таблицы, чтоб была понятна суть проблемы.
в полном коде шаблона ипользуются вложенные бордерные таблицы для визульного разделения материалов.
таким образом, получается, что в таблице я вынужден зарезервировать поле для блока ads.
а это приводит к выводу пустой бордерной ячейки.
я пока вижу только дин выход:
иметь блок ads1 в который убрана строка/столбец таблицы и уже внутри блока ads1 прописано отображение блоков ads2, ads3 и т.д. для отображения материалов..
но это полный пи...
поменяйте структуру шаблонов!!!
чтобы main не был связан с главной страницей, а был просто общим шаблоном всех страниц!
Изменено Dmil (2009-05-19 15:41:17)
Не в сети
и все же, я не вижу ситуации, в которой ячейку таблицы нельзя сунуть внутрь ads
а внутри одного блока нельзя прописать отображение другого, если я прав
main и есть общий шаблон всех страниц
Не в сети
к сожалению, main сейчас не только общий шаблон для всех страниц, но еще и вид главной страницы,
а это приводит к тому, что приходится иметь параметры в виде "морда" при отображении.
всего-то навсего надо поменять иерархию:
main - общее оформление
{mainblock} внутри него отображает шаблон отображения категории
при создании категории он и указывается.
все! куча проблем решена! нет проблем с дизайном страниц, нет проблем с публикацией! нет проблем с шаблонами отображения новостей на разных страницах!
при публикации новости просто указывается набор категорий, где она дложна быть видна!
затычки "морда-неморда" не нужны!
п.с. привожу пример кода таблицы шаблона, тоже немного утрировано.
<table border=1>
<tr>
<td>
<table border=1>
<tr><td>{ads1}</td><td>{ads2}</td><td>{ads3}</td></tr>
</table>
</td>
</tr>
<tr>
...............
Изменено Dmil (2009-05-19 16:08:35)
Не в сети
это тот же самый пример, что и был выше
и я снова повторю то же самое: вставь <td></td> внутрь ads
ads1 = <td>абв</td>
ads2 = <td>где</td>
ads3 = <td>жзи</td>
<table border=1>
<tr>
<td>
<table border=1>
<tr>{ads1}{ads2}{ads3}</tr>
</table>
</td>
</tr>
<tr>
Не в сети
вот смотрите.
есть таблица поля
в ней для блока информации выделена строка.
в этой строке есть другая таблица, содержащая только модули главной страницы
так как обе таблицы бордерные, то при отображении других страниц блоки ads не отбразятся, а вот строка внешней страницы - отобразится в виде артефактов.
Не в сети
Dmil, ничего не поняла
Для решения вопроса, если исходить из утрированного примера, то делать так:
вставить в main:
<table border="1">
<tr>
<td>
{ads1}
</td>
<tr>
</table>
в ads1 вставить:
<table width="100%" border="1">
<tr>
<td>КОНТЕНТ-1</td>
<td>КОНТЕНТ-2</td>
<td>КОНТЕНТ-Х</td>
</tr>
</table>
и будет счастье ))
Не в сети
ну так "любой контент" это в том числе и ссылки на плагины
а вложенность тут с одной стороны не работает. с другой - плоха в плане из-за того что может получиться рекурсия, что приведёт к краху...
Изменено Dmil (2009-05-20 13:35:24)
Не в сети
да, видимо, так и придется делать... можно сказать, что проблема решена. (если не считать, что начинаются запутки с понятиями "главная страница", "главный шаблон" и пункт меню "главная")
Не в сети
Не в сети
easmik, блин, я походу вообще нуб последний... Или ещё не разобрался...
На главной перед новостями хочу сделать наподобие картинки "Последние новости", н моем шаблоне на главной идет вывод новостей в 2 колонки, поэтому ставить в news.short.tpl бестолку - будет повторятся 2 раза...
Какие могут быть варианты решений?
Что стоит материальный мир, когда есть возможность создавать вечное?
Не в сети
Proxx, news.table.tpl туда можно вставить блок и если нужно задать условия в каких категориях оно будет выводиться. Или же в main.tpl условный блок.
Не в сети
easmik, условный блок... как всё запущенно
Типа, если главная - то блок выводится, если нет - то нет? Или как? Разжуйте мне пжлст, я ток 3 день с cms
Что стоит материальный мир, когда есть возможность создавать вечное?
Не в сети
Proxx, да с блоками логика верная. могу не только разжевать на конкретном примере, но и прописать куда нужно. Это будет Вам стоить ссылки на ngcms с Вашего сайта и обещания не убирать её от туда.
Не в сети
easmik, я ждал весь день Вашего ответа, ибо работать стоИт
Ссылку не сделаю, а поставлю баннер 88/31 (даже сам сделаю, ибо шаблон предполагает лишь баннера)... если можно... или обязательно ссылка?
Изменено Proxx (2013-01-12 23:30:08)
Что стоит материальный мир, когда есть возможность создавать вечное?
Не в сети