формирование тела блога

блог

#1 20 августа 2014 в 16:28
добрый день!
подскажите где формируется тело блога — которое потом выводится в шаблоне кодом — <div class="blog_post_body">{$post.content_html}</div>
#2 21 августа 2014 в 12:24
если не ошибаюсь
$item['content_html'] = cmsCore::parseSmiles($item['content'], true);
в файле core\classes\blog.class.php
#3 21 августа 2014 в 14:34
вполне может быть!!! но я там не нашёл именно где формируется весь блог — задача такая — мне нужно что бы на страннице блога в списке постов блогов вставить что то такое truncate:200, так как пользователи постоянно забывают поставить тег "Читать далее..." вот и хочется что бы автоматически в списке постов выводил уже 200 символов только, но главное что бы картинка осталась, которая вставлена вначале блога, вот и нужно найти где формируется именно отображение картинки и текста самого поста блога, и если в этом разобраться то хочется ещё сделать — что бы в списке постов картинка не увеличивалась в модальном окне, а при нажатии на картинку переходили в сам пост блога!!! как это сделать помогите товарищи!!!
#4 21 августа 2014 в 15:17
и самое главное я немогу в шаблоне найти где выводится надпись Читать далее… — видимо эта надпись то же где то формируется сразу в тело блога!!! а вот где????
#5 22 августа 2014 в 21:34

и самое главное я немогу в шаблоне найти где выводится надпись Читать далее… — видимо эта надпись то же где то формируется сразу в тело блога!!! а вот где????

vsemkrot

это тег cut
см. строку 579 в файле core\classes\blog.class.php
#6 22 августа 2014 в 21:54
vsemkrot, Почитайте про функцию truncate(), там всё есть, что вам надо.
#7 23 августа 2014 в 12:11

надпись Читать далее...

vsemkrot

В файле core\classes\blog.class.php
Найти:
  1. if (mb_strstr($post['content_html'], '[cut')){
  2. $post['content_html'] = $this->getPostShort($post['content_html'], $post['url']);
  3. }
После вставить:
  1. else{
  2. //разбиваем на массив
  3. $post_content = explode(" ", $post['content_html']);
  4. //берем первые 100 элементов
  5. $post_content = array_slice($post_content, 0, 100);
  6. //превращаем в строку
  7. $post['content_html'] = implode(" ", $post_content);
  8. // добавляем многоточие
  9. $post['content_html'] .= '...';
  10. // добавляем ссылку на пост
  11. $post['content_html'] .= '<div class="blog_cut_link">
  12. <a href="'.$post['url'].'">Читать далее...</a>
  13. </div>';
  14. }
#8 23 августа 2014 в 14:48
спасибо! с читать далее разобрался, но всё же как то блоги формируются сложновато в сравнении со статьями!!!
#9 23 августа 2014 в 15:03
Юрий, Всё делается проще, В frontend.php задаёте переменную
  1. $link = '<a href = "">далее</a>';
и передаёте в шаблон, а в шаблоне дописываетt в truncate эту переменную
  1. {$post.content_html|truncate:100:"...$link"}
#10 23 августа 2014 в 16:41
Вопрос по существу. Делаю разбивку добавления постов в блог на 2 части, как статьи, первая — анонс, вторая — основная часть. Добавил во фронтенд новую переменную content2, ну и в файле блог.класс.пхп добавил еще 2 переменные content2 и content2_html, и сделал все на подобии content и content_html. В базу добавил так же эти 2 поля. Все гуд работает, в общем-то. Но я не убирал тега cut из кода. Влияет ли он на что-то или нет? Или можно просто из шаблона его убрать
  1. <strong>{$LANG.IMPORTANT}:</strong> {$LANG.CUT_TEXT},
  2.  
и дело с концом?

И еще вопрос, на странице используется код
  1. <div class="usr_msg_bbcodebox">{$bb_toolbar}</div>
  2. {$smilies}
  3. {$autogrow}
  4. <div class="cm_editor"><textarea rows="15" class="ajax_autogrowarea" name="content2" id="message">{$mod.content2|escape:'html'}</textarea></div>
  5. <hr>
  6. <hr>
  7. <div class="usr_msg_bbcodebox">{$bb_toolbar}</div>
  8. {$smilies}
  9. {$autogrow}
  10. <div class="cm_editor"><textarea rows="15" class="ajax_autogrowarea" name="content" id="message">{$mod.content|escape:'html'}</textarea></div>
при добавлении в первое поле тегов и всего прочего происходит хорошо, а вот когда во второе поле выбираю вставить какой-то тег, он добавляется в первое. Что надо подправить чтобы курсор не прыгал со второго поля на первое? (Вроде бы понял, надо в page.класс добавить две функции getBBCodeToolbar1 и на смайлы аналогичную, и во фронтенде их вызвать для новых bb_toolbar1 и smilies1 — НО ЗАГРУЗКА картинок во втором редакторе не работает… — УЖЕ работает, пришлось малость файлов подобавлять хД ).
#11 23 августа 2014 в 21:32

а в шаблоне дописываетt в truncate

Lora
может и проще, но что будет с постом пользователя который не забыл указать тег "Читать далее...".
#12 24 августа 2014 в 14:45
Появился еще вопрос. Добавил текстареа — дополнительное поле при добавлении поста блога. Собственно вопрос, что с этим полем необходимо сделать, чтобы в нем сохранялись хтмл теги, и в посте при выводе через переменную хтмл обрабатывался? Или вв-коды. Смотрел в профиле есть поле "Подпись на форуме" — но пока не нашел, как в нем и что.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.