Объявление
Уважаемые читатели, друзья, подписчики. В связи с участившимся и, порядком надоевшим спамом в комментариях от всяких анонимах(будь они не ладны), я вынуждена включить модерацию комментариев на некоторое время. Очень надеюсь на ваше понимание.

Не показывать сообщение на главной странице в Blogger-е


Получила на почту письмо такого содержания<<Не хочу, чтобы на главной странице блога отображались конкретные сообщения. Как это сделать?>>
не отображать на главной
Вопрос конечно интересный. И сначала я подумала, а зачем это надо вообще? Но, как "коренной" представитель женской логики решила, коль вопрос задали, значит, это кому-то надо.

Первое, что пришло в голову это воспользоваться функцией расписания в редакторе сообщения блога. Запихать сообщение, которое не хотим видеть на главной, в год эдак 2000-ый. Маловероятно, что кто-то до него доберётся. Да ещё и ярлык ему не присвоить. Вроде всё, как и просто, но не очень интересно.

Подсказку нашла на блоге magentawave.com. А именно, что с помощью условных тегов в блоггере можно управлять расположением тех или иных элементов. Отображать их на отдельных страницах, удалять или скрывать. И в Блоггере они используются в виде тегов b:if и b:else. Одним словом, задавать для них определённые условия. Про условные теги много написано в справке Гугл.

В нашем случае необходимо задать условие, чтобы конкретное сообщение не показывалось на главной странице, а только на предыдущих. Каждая страница имеет свой уникальны ID (разберём на примере этой страницы).

.
Теперь в шаблоне блога нам нужно найти вот такой участок кода. Читаем здесь, как это легко сделать.

<b:includable id='post' var='post'>


Сразу под этой строкой вставляем следующее условие

<b:if cond='data:blog.url == data:blog.homepageUrl'>
<b:if cond='data:post.id != &quot;718491998207409604 &quot;'>


Спускаемся ниже и находим <b:else/> перед ней ставим тег </b:if>. И уже в самом конце всего кода опять же закрывающийся тег </b:if> перед </b:includable>.

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

<b:includable id='post' var='post'>
<b:if cond='data:blog.url == data:blog.homepageUrl'>
<b:if cond='data:post.id != &quot;718491998207409604 &quot;'>
здесь большой участок кода
</b:if>
<b:else/>
здесь тоже участок кода
</b:if>
</b:includable>



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

Если вместоdata:blog.homepageUrl задать data:blog.pageType != "item" , то сообщение вообще можно отыскать только введя его адрес . Допустим, вот такой

http://www.shpargalochki.ru/2015/06/animirovannaja-forma-podpiski.html. 

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

Задавший вопрос сказал мне огромное спасибо. Спасибо ему за идею для поста. И у меня на сегодня всё. Надеюсь, что и ещё кому-то это пригодится. Удачи всем.


здесь можно оформить подписку на новые шпаргалки

Введите Ваш email


17 комментариев:

  1. Интересное желание. Представила блог без сообщений на главной странице. Для меня скучновато, но "на вкус и цвет" как говорится...

    ОтветитьУдалить
    Ответы
    1. Галина, а знаете я вот подумала. Человек решил записать что-то лично для себя , ну чтобы было, на память. Думаю такое и пригодится.

      Удалить
    2. Вика, я об этом не подумала. Действительно, может человек хочет вести личный дневник.

      Удалить
    3. Галина для личных дневников можно просто в настройках в админпанели
      задать кто может читать этот блог. В общем, для чего-то это видимо надо. Главное что решение есть, как сделать.

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

      Удалить
    5. Евгений Бронштейн, сообщения и так находятся в определённых категориях. Другое дело если ему вообще не присвоить категорию, оно уйдёт просто в никуда потом.

      Удалить
  2. Вика, пожалуйста зайдите в vk

    ОтветитьУдалить
  3. Вика, пожалуйста зайдите в vk

    ОтветитьУдалить
    Ответы
    1. Рамазан, я видела Ваше сообщение. Ничего, что я завтра отвечу. Разрываюсь сегодня.

      Удалить
  4. Этот комментарий был удален автором.

    ОтветитьУдалить
  5. Подскажите, если упомянутый "большой участок кода" содержит несколько b:else/ , то перед каким именно нужно вставить тег /b:if ?

    ОтветитьУдалить
    Ответы
    1. Этот комментарий был удален автором.

      Удалить
    2. Денис, шаблоны у всех разные. Попробуйте вставить сначала под первым, если будет выдавать ошибку, то под следующим. У меня в одном из шаблонов тоже несколько и установлен после строк где-то data:post.author.

      Удалить
    3. Ставил пере всеми b:else/ поочерёдно, к сожалению не помогло (

      Удалить
    4. Денис, что-то не так у Вас где-то. Я проверяла этот вариант на всех тестовых блогах.

      Удалить
    5. Вика, я разобрался. Дело было не в месте расположения тега /b:if ,а в том что я копировал код с вашего примера, а там синтаксическая ошибка в виде == , когда я убрал лишний знак равенства - всё заработало )) Благодарю за статью.

      Удалить
    6. Денис, ну слава богу, рада, что разобрались. сейчас нужно будет исправить. Так что и вам спасибо.

      Удалить

ВСЕГДА РАДА УСЛЫШАТЬ ВАШЕ МНЕНИЕ!
Ели у вас возникла необходимость опубликовать код в комментарии, то воспользуйтесь encoder HTML