Для решения поставленной цели мы будем править: /components/blogs/frontend.php, /templates/_default_/components/com_blog_edit_post.tpl, /templates/_default_/components/com_blog_view.tpl и /templates/_default_/components/com_blog_view_posts.tpl (для своих файлов шаблонов делайте по аналогии).
Правка файла /components/blogs/frontend.php:
находим код (где то с 515 по 520 строчки):
Код PHP:
и удаляем его.
//получаем код панелей bbcode и смайлов $bb_toolbar = cmsPage::getBBCodeToolbar('message',$model->config['img_on'], 'blogs', 'post', $post_id); $smilies = cmsPage::getSmilesPanel('message'); $inCore->initAutoGrowText('#message');
чуть ниже находим код:
Код PHP:
и тоже удаляем.
$smarty->assign('bb_toolbar', $bb_toolbar); $smarty->assign('smilies', $smilies);
еще чуть ниже находим код:
Код PHP:
и заменяем его на код:
$mod['content'] = cmsCore::request('content', 'html');
Код PHP:
еще чуть ниже находим код:
$mod['content_html'] = cmsCore::request('content_html', 'html', '');
Код PHP:
и заменяем его на код:
if (mb_strlen($mod['content'])<5) { cmsCore::addSessionMessage($_LANG['POST_ERR_TEXT'], 'error'); $errors=true; }
Код PHP:
еще чуть ниже находим код:
if (mb_strlen(strip_tags($mod['content_html']))<5) { cmsCore::addSessionMessage($_LANG['POST_ERR_TEXT'],'error'); $errors = true; }
Код PHP:
и заменяем его на код:
$added = $inBlog->addPost($mod);
Код PHP:
еще чуть ниже находим код:
//А вот тут хак для работы визуального редактора------------ $mod = cmsCore::callEvent('ADD_POST', $mod); // Экранируем специальные символы $mod['content_html'] = cmsDatabase::escape_string($mod['content_html']); $mod['id'] = cmsDatabase::getInstance()->insert('cms_blog_posts', $mod); cmsInsertTags($mod['tags'], 'blogpost', $mod['id']); $mod['seolink'] = $inBlog->generatePostSeoLink($mod); cmsDatabase::getInstance()->query("UPDATE cms_blog_posts SET seolink='". $mod['seolink'] ."' WHERE id = '". $added['id'] ."'"); if ($mod['published']){ cmsUser::checkAwards($mod['user_id']); cmsCore::callEvent('ADD_POST_DONE', $mod); } cmsCore::setIdUploadImage('post', $mod['id']); //----------------------------------------------------------
Код PHP:
и заменяем его на код:
'object_url' => $model->getPostURL($blog['seolink'], $added['seolink']), 'object_id' => $added['id'],
Код PHP:
еще чуть ниже находим код:
'object_url' => $model->getPostURL($blog['seolink'], $mod['seolink']), 'object_id' => $mod['id'],
Код PHP:
и заменяем его на код:
cmsCore::redirect($model->getPostURL($blog['seolink'], $added['seolink']));
Код PHP:
еще чуть ниже находим код:
cmsCore::redirect($model->getPostURL($blog['seolink'], $mod['seolink']));
Код PHP:
и заменяем его на код:
$message = str_replace('%post%', '<a href="'.$model->getPostURL($blog['seolink'], $added['seolink']).'">'.$mod['title'].'</a>', $message);
Код PHP:
еще чуть ниже находим код:
$message = str_replace('%post%', '<a href="'.$model->getPostURL($blog['seolink'], $mod['seolink']).'">'.$mod['title'].'</a>', $message);
Код PHP:
и заменяем его на код:
$new_post_seolink = $inBlog->updatePost($post['id'], $mod, $model->config['update_seo_link']);
Код PHP:
На этом редактирование файла /components/blogs/frontend.php закончено переходим к редактированию файлов шаблона, начнем со страницы редактирования поста /templates/_default_/components/com_blog_edit_post.tpl
//А вот тут хак для работы визуального редактора------------ $mod['id'] = $post['id']; $mod = cmsCore::callEvent('UPDATE_POST', $mod); if ($model->config['update_seo_link']){ $mod['seolink'] = $inBlog->generatePostSeoLink($mod); } $mod['content_html'] = cmsDatabase::escape_string($mod['content_html']); cmsDatabase::getInstance()->update('cms_blog_posts', $mod, $mod['id']); cmsInsertTags($mod['tags'], 'blogpost', $mod['id']); //----------------------------------------------------------
находим код:
Код PHP:
и заменяем его на код:
<div class="usr_msg_bbcodebox">{$bb_toolbar}</div> {$smilies} {$autogrow} <div class="cm_editor"><textarea class="ajax_autogrowarea" name="content" id="message">{$mod.content|escape:'html'}</textarea></div> <div style="margin-top:12px;margin-bottom:15px;" class="hinttext"> <strong>{$LANG.IMPORTANT}:</strong> {$LANG.CUT_TEXT},<br/> <a href="javascript:addTagCut('message');" class="ajaxlink">{$LANG.ADD_CUT_TAG}</a> {$LANG.BETWEEN}. </div>
Код PHP:
на этом и с этим файлом все.
{wysiwyg name='content_html' value=$mod.content_html height=400 width='100%'}
Теперь остается одна проблема в визуальных редакторах нету кнопки вставить разделитель для указания границ анонса, можно конечно вручную писать [ cut = Читать далее... ] но это как то надо и пользователям объяснить, я же в этой инструкции расмотрю просто как обрезать полный текст в шаблоне до нужной длины для анонса, в файле /templates/_default_/components/com_blog_view.tpl
находим код
Код PHP:
и заменяем его на
{$post.content_html}
Код PHP:
тоесть сперва очищаем от тегов а потом обрезаем до 250 символовтак же делаем и в файле /templates/_default_/components/com_blog_view_posts.tpl, у себя на сайте я буду делать более глобальное изменение и добавлю поле анонса для заполнения при добавлении поста эту инструкцию выложу позднее.
Для спонсоров )))