Вводим описание блога для поля Description вручную
Возможно, что-то сделал не правильно. Я в PHP — 0)))
Добавил новое поле при добавление блога, для ввода описания поля description, независимо от самого описания блога которое выводится на странице.
Итак, приступим.
СРАЗУ ЗАМЕЧУ! ПОИСК ПО ФАЙЛАМ НАЧИНАЙТЕ СВЕРХУ.
Открываем ActionBlog.class.php
находим
Заменяем на
Находим ниже.
И заменяем на
Далее находим (ВТОРОЙ РАЗ УЖЕ)
И опять заменяем на
Находим ниже
И заменяем на
Ищем
Ниже вставляем
Далее ищем функцию проверки описания блога. (это часть)
копируем всю функцию и вставляем ниже.
В скопированной переименовываем blog_description на blog_seodescr
выставляем для blog_seodescr описание не больше 300 символов
Далее ищем все
И заменяем на
СОХРАНЯЕМ ActionBlog.class.php
ОТКРЫВАЕМ Blog.entity.class.php
В GET добавляем
а в SET
СОХРАНЯЕМ Blog.entity.class.php
ОТКРЫВАЕМ Blog.mapper.class.php
Ищем в самом верху
Немного ниже, под под
Добавляем
В VALUES добавляем еще один? (вопрос)
На пару строк ниже находим
добавляем
Теперь в функции
Ищем
ниже добавляем
ниже, после
добавляем
СОХРАНЯЕМ Blog.mapper.class.php
В templates/habra/action/ActionBlog/add.tpl
после
Добавляем
ВЫПОЛНЯЕМ ЗАПРОС
З.Ы. у меня работает. На счет работы в версии из SVN не знаю. Но должно работать.
З.Ы.З.Ы. не знаю как скажется на блогах которые уже созданы.
Да и возможно намутил че-то с функцией проверки blog_description в файле ActionBlog.class.php!!!
Добавил новое поле при добавление блога, для ввода описания поля description, независимо от самого описания блога которое выводится на странице.
Итак, приступим.
СРАЗУ ЗАМЕЧУ! ПОИСК ПО ФАЙЛАМ НАЧИНАЙТЕ СВЕРХУ.
Открываем ActionBlog.class.php
находим
$sText=$this->Text_Parser(getRequest('blog_description'));
Заменяем на
$oBlog->setDescription(getRequest('blog_description'));
Находим ниже.
$oBlog->setDescription($sText);
И заменяем на
$sText=$this->Text_Parser(getRequest('blog_seodescr'));
$oBlog->setSeodescr($sText);
Далее находим (ВТОРОЙ РАЗ УЖЕ)
$sText=$this->Text_Parser(getRequest('blog_description'));
И опять заменяем на
$oBlog->setDescription(getRequest('blog_description'));
Находим ниже
$oBlog->setDescription($sText);
И заменяем на
$sText=$this->Text_Parser(getRequest('blog_seodescr'));
$oBlog->setSeodescr($sText);
Ищем
$_REQUEST['blog_description']=$oBlog->getDescription();
Ниже вставляем
$_REQUEST['blog_seodescr']=$oBlog->getSeodescr();
Далее ищем функцию проверки описания блога. (это часть)
func_check(getRequest('blog_description'
копируем всю функцию и вставляем ниже.
В скопированной переименовываем blog_description на blog_seodescr
выставляем для blog_seodescr описание не больше 300 символов
Далее ищем все
$sTextSeo=preg_replace("/<.*>/Ui",' ',$oBlog->getDescription());
И заменяем на
$sTextSeo=preg_replace("/<.*>/Ui",' ',$oBlog->getSeodescr());
СОХРАНЯЕМ ActionBlog.class.php
ОТКРЫВАЕМ Blog.entity.class.php
В GET добавляем
public function getSeodescr() {
return $this->_aData['blog_seodescr'];
}
а в SET
public function setSeodescr($data) {
$this->_aData['blog_seodescr']=$data;
}
СОХРАНЯЕМ Blog.entity.class.php
ОТКРЫВАЕМ Blog.mapper.class.php
Ищем в самом верху
public function AddBlog(BlogEntity_Blog $oBlog)
Немного ниже, под под
blog_description,
Добавляем
blog_seodescr,
В VALUES добавляем еще один? (вопрос)
На пару строк ниже находим
$oBlog->getDescription(),
добавляем
$oBlog->getSeodescr(),
Теперь в функции
function UpdateBlog(BlogEntity_Blog $oBlog)
Ищем
blog_description= ?,
ниже добавляем
blog_seodescr= ?,
ниже, после
$oBlog->getDescription(),
добавляем
$oBlog->getSeodescr(),
СОХРАНЯЕМ Blog.mapper.class.php
В templates/habra/action/ActionBlog/add.tpl
после
<p><label for="blog_description">{$aLang.blog_create_description}:</label><br />
<textarea name="blog_description" id="blog_description" rows="20">{$_aRequest.blog_description}</textarea><br />
<span class="form_note">{$aLang.blog_create_description_notice}</span></p>
Добавляем
<p><label for="blog_seodescr">SEO описание:</label><br />
<input type="text" id="blog_seodescr" name="blog_seodescr" value="{$_aRequest.blog_seodescr}" class="w100p" /><br />
<span class="form_note">Описание для поисковиков.</span></p>
ВЫПОЛНЯЕМ ЗАПРОС
ALTER TABLE `prefix_blog` ADD `blog_seodescr` text collate utf8_bin NOT NULL;
З.Ы. у меня работает. На счет работы в версии из SVN не знаю. Но должно работать.
З.Ы.З.Ы. не знаю как скажется на блогах которые уже созданы.
Да и возможно намутил че-то с функцией проверки blog_description в файле ActionBlog.class.php!!!
15 комментариев
Теперь для поля description можно задать другое описание, отдельное от основного описания блога.
Но ктобы, проф взглядом посмотрел код и сказал, где и что я напорол))
Уж очень сомневаюсь, что не че не упорол))
я пытался из статических страниц выдрать и адаптировать, только не получилось как-то.
спасибо за мануал — основывался на нем.))
если нужно, потом отпишу действия.))
Перед
return $this->AddBlog($oBlog);
вставляем
$oBlog->setSeodescr(SITE_DESCRIPTION);
Будет по умолчаннию для персонального блога подставлять описание для сайта.