
Методом научного тыка и не очень продолжительных проб и ошибок, мной было найдено весьма элегантное решение. Кстати тут же можно исправить довольно распространенную ошибку с атрибутом "updated" для сообщений, которую частенько можно наблюдать в веб-мастерских.
Сообщения написанные в один день, по умолчанию в Blogger-блоге помещаются в один блок и отображаются под одной общей текущей датой публикации. Чтобы отобразить дату непосредственно в каждом сообщении блога и сделать посты написанные в один день раздельными, достаточно просто переставить закрывающие теги в другое, соответствующее место и убрать из кода кое-что лишнее. При ничего добавлять в код не требуется, в отличии от
В коде шаблона все же придется поковыряться. Блок кода отвечающий за дату начинается в шаблоне со строк:
<b:loop values='data:posts' var='post'>
<b:if cond='data:post.isDateStart and not data:post.isFirstPost'>
Все что требуется это закомментировать или удалить некоторые строки из блока и переставить соответствующие теги указанные в примере кода ниже. Тут же можно изменить дату по стандарту и обернуть ее в дополнительный тег с классом updated что поможет решить <b:if cond='data:post.isDateStart and not data:post.isFirstPost'>
Готовый пример кода, для удобства можно скопировать и заменить тот блок что в шаблоне, но предварительно не забываем сделать резервную копию.
<b:loop values='data:posts' var='post'>
<!--<b:if cond='data:post.isDateStart and not data:post.isFirstPost'>-->
<!--</div> </div>-->
<!--</b:if>-->
<!--<b:if cond='data:post.isDateStart'>-->
<div class="date-outer">
<!--</b:if>-->
<!--<b:if cond='data:post.dateHeader'>-->
<span class='updated'>
<time class='updated' expr:content='data:post.timestampISO8601' expr:datetime='data:post.timestampISO8601' itemprop='dateModified'><data:post.date/></time>
</span>
<!--</b:if>-->
<!--<b:if cond='data:post.isDateStart'>-->
<div class="date-posts">
<!--</b:if> -->
<div class='post-outer'>
<b:include data='post' name='post'/>
<b:include cond='data:blog.pageType in {"static_page","item"}' data='post' name='comment_picker'/>
</div>
</div> <!-- здесь происходит первое изменение -->
<!-- Ad -->
<b:if cond='data:post.includeAd'>
<div class='inline-ad'>
<data:adCode/>
</div>
</b:if>
</div> <!-- здесь происходит второе изменение -->
</b:loop>
<!--<b:if cond='data:post.isDateStart and not data:post.isFirstPost'>-->
<!--</div> </div>-->
<!--</b:if>-->
<!--<b:if cond='data:post.isDateStart'>-->
<div class="date-outer">
<!--</b:if>-->
<!--<b:if cond='data:post.dateHeader'>-->
<span class='updated'>
<time class='updated' expr:content='data:post.timestampISO8601' expr:datetime='data:post.timestampISO8601' itemprop='dateModified'><data:post.date/></time>
</span>
<!--</b:if>-->
<!--<b:if cond='data:post.isDateStart'>-->
<div class="date-posts">
<!--</b:if> -->
<div class='post-outer'>
<b:include data='post' name='post'/>
<b:include cond='data:blog.pageType in {"static_page","item"}' data='post' name='comment_picker'/>
</div>
</div> <!-- здесь происходит первое изменение -->
<!-- Ad -->
<b:if cond='data:post.includeAd'>
<div class='inline-ad'>
<data:adCode/>
</div>
</b:if>
</div> <!-- здесь происходит второе изменение -->
</b:loop>
Во всех своих шаблонах я разделяю посты именно этим способом, исключительно. Принципиально не стал использовать метод со скриптом, потому что: первое - он мне сразу не понравился; второе - не видел в этом смысла. Зачем создавать трудности там, где их нет?
О своих результатах как всегда можно поделиться в комментариях.
©http://magentawave.com
А как убрать дату что бы она не показывалась, но при этом сообщения были разделенными ?
ОтветитьУдалитьtime {
Удалитьdisplay: none;
}
Доброго времени суток! Извините пожалуйста, но я не поняла, как удалить дату когда разделили посты...подскажите пожалуйста, что с этим сделать? time {
Удалитьdisplay: none;
}
Вставьте этот код в шаблон, в раздел с CSS, перед </b:skin>
Удалить