English French German Spain Italian Dutch Russian Portuguese Japanese Korean Arabic Chinese Simplified

25 сент. 2010 г.

Настраиваем свой блог на Blogger.com. Пишем статьи под катом.

   Всем привет, в этом посте я расскажу, как скрывать часть вашего сообщения в блоге под катом.
   Так как на Blogger.com отсутствуют стандартные методы реализующие данную возможность, придется сделать несколько не сложных действий.

Добавляем возможность писать статьи под катом:

  1. Войдите в свой аккаунт на Blogger.com, Перейдите на вкладку  "Дизайн" -> "Изменить HTML".
  2. Выберете "загрузить весь шаблон", чтобы сохранить текущую версию шаблона. Это нужно для того чтобы если что-то пойдет не так,  вы всегда могли восстановить старую версию шаблона.
  3. Поставьте галочку напротив "Расширить шаблоны виджета". Найдите в коде закрывающийся тег </head> и прямо перед ним вставьте следующий код:
  4. <b:if cond='data:blog.pageType != "item"'>
    <script type="text/javascript">
    
    var fade = false;
    function showFull(id) {
    var post = document.getElementById(id);
    var spans = post.getElementsByTagName('span');
    for (var i = 0; i &lt; spans.length; i++) {
    if (spans[i].id == "fullpost") {
    if (fade) {
    spans[i].style.background = peekaboo_bgcolor;
    Effect.Appear(spans[i]);
    } else spans[i].style.display = 'inline';
    }
    if (spans[i].id == "showlink")
    spans[i].style.display = 'none';
    if (spans[i].id == "hidelink")
    spans[i].style.display = 'inline';
    }
    }
    
    
    function hideFull(id) {
    var post = document.getElementById(id);
    var spans = post.getElementsByTagName('span');
    for (var i = 0; i &lt; spans.length; i++) {
    if (spans[i].id == "fullpost") {
    if (fade) {
    spans[i].style.background = peekaboo_bgcolor;
    Effect.Fade(spans[i]);
    } else spans[i].style.display = 'none';
    }
    if (spans[i].id == "showlink")
    spans[i].style.display = 'inline';
    if (spans[i].id == "hidelink")
    spans[i].style.display = 'none';
    }
    post.scrollIntoView(true);
    }
    
    function checkFull(id) {
    var post = document.getElementById(id);
    var spans = post.getElementsByTagName('span');
    var found = 0;
    for (var i = 0; i &lt; spans.length; i++) {
    if (spans[i].id == "fullpost") {
    spans[i].style.display = 'none';
    found = 1;
    }
    if ((spans[i].id == "showlink") &amp;&amp; (found == 0))
    spans[i].style.display = 'none';
    }
    }
    
    </script>
    </b:if>
    
  5. Теперь найдите тег <data:post.body/>, чуть выше него будет тег <div class='post-body entry-content'/>, измените его следующим образом:
  6. <div class='post-body entry-content' expr:id='&quot;post-&quot; + data:post.id'>
    
    и сразу за ним вставьте код:
    <b:if cond='data:blog.pageType == "item"'>
            <style>#fullpost{display:inline;}</style>
            <p><data:post.body/></p>
         <b:else/>
            <style>#fullpost{display:none;}</style>
    
            <p><data:post.body/></p> <!-- это уже есть -->
    
           <span id='showlink'>
            <a expr:href='data:post.url'>Читать дальше......</a>
           </span>
           <script type='text/javascript'>
             checkFull("post-" + "<data:post.id/>");
           </script>
         </b:if>
    
  7. Сохраните изменения. Теперь перейдите на вкладку "Настройки"->"Форматирование" и в поле "Шаблон сообщения" вставьте код:
  8. Превью поста
    
    <span id="fullpost">
    
    То, что скрыто под катом
    
    </span>
    
    Сохраните настройки.
   Теперь при создании нового сообщения у вас будет появляться данный шаблон. То что вы будете писать до тега <span> будет отображать в превью поста, а  содержимое заключенное в тег <span id="fullpost"> </span> будет скрыто под катом.
   На этом всё, удачного вам написания статей.

1 комментарий:

  1. Все делаю так, а сообщение до тега почему-то задваивается, не могу понять в чем причина...

    ОтветитьУдалить