• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь Ключевые слова (keywords) из тегов и Описание (description) из абзаца

Pashka Korchagin

Постоялец
Регистрация
23 Дек 2009
Сообщения
113
Реакции
8
На сайте постоянно в ручную заполняется поле тегов (меток), как бы сделать, чтобы и ключевые слова (keywords) брались из этого поля, а так приходится заполнять два поля практически одинаковыми ключами. (DLE 10.5)

Знаю о бесполезности keywords, но все же)

По умолчанию, в DLE мета тег description к новости берется из первого абзаца, N-нное количество символов от начала статьи. Как сделать, чтобы описание бралось из тела статьи, но не с первого предложения. Со второго предложения, абзаца, откуда угодно, минуя первое предложение. (DLE 10.5)
 
Последнее редактирование модератором:
Как вариант попробуй в engine/modules/show.full.php заменить
PHP:
$metatags['keywords'] = $row['keywords'];
на
PHP:
$metatags['keywords'] = $row['tags'];
 
killoff, респект! Копался в engine.php, до show.full.php не додумался)
Все отлично работает, дополнительно перенес форму заполнения тегов под редактор в файлах /engine/inc/addnews.php и /engine/inc/editnews.php, т.к. заполнять на другой вкладке неудобно.

Может кому-то понадобится. Просто нужно перенести отрезок кода в файлах addnews.php и editnews.php.

Вырезаем это:
Код:
<div class="form-group">
<label class="control-label col-md-2">{$lang['addnews_tags']}</label>
<div class="col-md-10">
<input type="text" name="tags" id="tags" style="width:437px;" autocomplete="off" />
</div>
</div>
Вставляем под:
Код:
echo <<<HTML
</div>
</div>
{$output}

Также можно поступить и с формами под остальные метатеги, это кому как удобнее. Встроенная генерация метатегов - не вариант, а без лишнего перещелкивания вкладок работать быстрее и приятнее.
Помогите разобраться с description, спасете год моей жизни на заполнение метатегов.:dead:
 
Примерно так:
в engine/modules/show.full.php после
PHP:
$tpl->set( '{full-story}', $row['full_story'] );
вставить
PHP:
$full_storym = $row['full_story'];
В engine.php перед
PHP:
$metatags = <<<HTML
добавить
PHP:
if ($subaction == 'showfull') {
$full_storym = mb_substr($full_storym, 0, 100)."...";
$metatags['description'] = $full_storym;
}
Таким образом выведется первые 100 символов описания из полной новости. Чтобы выводить со второго или другого предложения - надо $full_storym разложить на массив по предложениям, и вырезать первое предложение (я не кодер, но главное суть понять а дальше гугл в помощь...)
 
+100500 :)

Последний вопрос: Как ограничить число автогенерируемых ключевых слов, по умолчанию их генерируется 20. Где копать?
 
Здесь:
/http/engine/inc/include/functions.inc.php
Код:
$keyword_count = 20;

Изменение в engine\modules\functions.php ничего не дает. Подсказка с $keyword_count помогла найти.
 
Назад
Сверху