Блог

kak-zarabotat

не о заработке

Поиск

РСС

Спрятать под кат

29 марта 2015, 15:13

Не знаю почему, но автор движка Эгеи принципиально не хочет добавлять спойлер, который позволит выводить список записей в виде превьюшки. Вот как он мотивирует это — «Эгея — движок для хороших и интересных блогов. Блоги на Эгее всегда хочется читать дальше, и для этого не нужно нажимать никаких кнопок или ссылок.»
Не знаю почему он считает, что абсолютно всем, кто читает блог на Эгее будет интересна абсолютно вся информация — я считаю что это совсем не так.
В интернете решений почему-то не нашлось, зато нашлось множество людей, которые хотят такую «Фишку».
А на деле — организовать спойлер оказалось совсем не сложно. Для этого нужно всего-то подправить тему. Я правил системную, в дальнейшем можно организовать отдельную тему, чтобы можно выбирать вид отображения.
Инструкция:
Файл notes.tmpl.php
после строки задается вывод текста записи. Вот его нужно исправить и все.

<?php // TEXT // ?>
<?php // SpoiledText // ?>
<?php if($note['comments-link?']) { ?>
<div class="e2-note-text e2-text <?= $note['published?']? 'e2-published' : 'e2-draft' ?>">
<?php 
$shorttext = @$note['text'];
$shorttext = mb_substr($shorttext, 0, 500,'UTF-8'); // обрезаем до 500 символов
$lastword = mb_strrpos($shorttext, ' ', 'UTF-8'); // определение позиции последнего пробела
$shorttext = mb_substr($shorttext, 0, $lastword, 'UTF-8'); // обрезаем после пробела
echo $shorttext;
echo "<br /><a href=\"".$note['href']."\">&rArr; Читать далее</a>";
?>
<?php // FullText // ?>
<?php } else { ?>
<div class="e2-note-text e2-text <?= $note['published?']? 'e2-published' : 'e2-draft' ?>">
<?=@$note['text']?>
<?php } ?>
</div>

Вот и весь спойлер.
Если кому интересно, то при отображении списка заметок форма комментариев не отображается, а если открыть какую-то заметку, то форма комментариев есть. Вот с помощью этого условия и удалось организовать спойлер — if($note['comments-link?'])
Кстати еще можно сделать так, чтобы при нажатии на ссылку комментариев открывалась не запись, а  сразу комментарии.
Вот так $note['href'] ?>#e2-comments-count

<div class="e2-note-comments-link">
<?php if ($note['comments-count']) { ?><a href="<?= $note['href'] ?>#e2-comments-count"><?= $note['comments-count-text'] ?></a>

Для лентяев — скачать готовый файл

4 комментария
Марина

Спасибо! То, что нужно!)

Антон Шигаев

Как снести ссылку «Читать далее», если в ней нет необходимости? Когда текст записи менее пятисот символов.

Как избавиться от «Читать далее вообще, сделав ссылкой сам анонсирующий текст?

Виктор Черненко

Сделать весь текст ссылкой на заметку можно вот так например —

echo "<a href=\"".$note['href']."\">$shorttext</a>";
Антон Шигаев

Почему не все анонсы режутся по пятьсот символов, а намного раньше?

http://shigaev.com/

Виктор Черненко

Режутся не по пятьсот символов, а до последнего пробела в первых пятиста символах.

Антон Шигаев

Спасибо!

Ваш комментарий
адрес не будет опубликован

ХТМЛ не работает

Ctrl + Enter
Популярное
© Виктор Черненко, 2013—2018 Движок — Эгея