terveg
Давно я тут
  
Репутация: +17/-0
Offline
Пол: 
Сообщений: 273
ставь "+" руки не отсохнут
|
 |
« : 11.11.2010, 19:36:52 » |
|
Перечитал все топики по этой теме-так и не нашел хорошего ответа. Наверное много кто сталкивался с этой идеей или пытался реализовать. Суть такова-пользователи могут добавлять метаданные description и keywords самостоятельно (а надо автоматически!) в форме добавления записи-но это абсолютно не юзабельно! Зачем еще печатать кучу букв!? Тем более что эти поля необязательны и заполняться будут даже может не по теме и совсем не то. Администрировать по 30-100 записей в день нереально, и если пользователь редактирует запись-то метаданные пропадают (может это у меня только?  ). Как сделать так, чтобы автоматически в 1- дескрипшен для конкретной записи попадал текст из поля field_description+заголовок записи+также приписывалось пару своих ключевых слов для каталога2- в кейвордс добавлялись ключевики пусть даже одинаковые для всех записей
|
|
|
|
|
Записан
|
|
|
|
DAV
Давно я тут
  
Репутация: +25/-0
Offline
Пол: 
Сообщений: 208
|
 |
« Ответ #1 : 11.11.2010, 19:43:38 » |
|
джаваскрипт простенький, поля висибл - хиден в цсс
|
|
|
|
|
Записан
|
|
|
|
terveg
Давно я тут
  
Репутация: +17/-0
Offline
Пол: 
Сообщений: 273
ставь "+" руки не отсохнут
|
 |
« Ответ #2 : 11.11.2010, 19:54:53 » |
|
а есть какие то примеры или может где подсмотреть?
|
|
|
|
|
Записан
|
|
|
|
DAV
Давно я тут
  
Репутация: +25/-0
Offline
Пол: 
Сообщений: 208
|
 |
« Ответ #3 : 11.11.2010, 22:27:32 » |
|
Готового нет. Сам алгоритм. По событию нажатия кнопки Сохранить (или отправить. не помню как там..) по вашему алгоритму заполняются мета поля (копируют инфу из других полей) при этом чтобы мета поля не смущали юзера скрываем их цсс. В общем то все.
|
|
|
|
|
Записан
|
|
|
|
terveg
Давно я тут
  
Репутация: +17/-0
Offline
Пол: 
Сообщений: 273
ставь "+" руки не отсохнут
|
 |
« Ответ #4 : 12.11.2010, 16:17:54 » |
|
вот нашел скриптик попробую поковырять его <html> <head> <title>Копирование содержимого поля textarea кликом по кнопке.</title> <SCRIPT language=javascript> function toBuf(name){ if(document.selection.createRange().text!=""){ name.focus(); document.selection.createRange().duplicate().execCommand("Copy"); }else{ name.focus();name.createTextRange().execCommand("Copy");}} </SCRIPT> </head> <body> <form name=main> <textarea id=lat name=lat cols="40" rows="3"> <a href="http://studia.scriptic.ru/"> <img height="31" width="88" border="0" src="http://studia.scriptic.ru/banner/88/web-disain.gif"></a></textarea><br> <INPUT title=copy onclick=toBuf(main.lat) type=button value="Копировать в буфер"> </form> </body> </html>
|
|
|
|
|
Записан
|
|
|
|
terveg
Давно я тут
  
Репутация: +17/-0
Offline
Пол: 
Сообщений: 273
ставь "+" руки не отсохнут
|
 |
« Ответ #5 : 12.11.2010, 18:29:00 » |
|
тшательный поиск по буржуйскому форуму дал вот такое  <?php $document =& JFactory::getDocument(); ?> <?php $description = $fieldsObjects['YOUR_FIELD']->data." till ".reset($mySobi->myCategories)." - ".$mySobi->title; ?>
<?php $document->setDescription($description); ?> <?php $document->setMetaData("keywords", "YOUR_KEYWORD, ".reset($mySobi->myCategories).", ".$mySobi->title); ?> http://www.sigsiu.net/forum/community-board-for-troubleshooting-problems/add-title-to-meta-description/msg79186/#msg79186
|
|
|
|
|
Записан
|
|
|
|
terveg
Давно я тут
  
Репутация: +17/-0
Offline
Пол: 
Сообщений: 273
ставь "+" руки не отсохнут
|
 |
« Ответ #6 : 12.11.2010, 19:43:30 » |
|
Вот что получилось-работает 100% проверено! <?php $document =& JFactory::getDocument(); ?> <?php $document->getDescription();?> <?php $description =$mySobi->title. " - " .$fieldsObjects['field_description']->data; ?> <?php $document->setDescription($description); ?> <?php $document->setMetaData("keywords", "keyword1, keyword2, ... , ".reset($mySobi->myCategories).", ".$mySobi->title); ?> этот кусок добавляется в шаблон Details view после <?php defined( '_SOBI2_' ) || ( trigger_error("Restricted access", E_USER_ERROR) && exit() ); ?> Эта фича настраивает свои значения метаданных автоматически meta description meta keywords для карточки Details view SOBI2 так как Вы его настроите
|
|
|
|
|
Записан
|
|
|
|
terveg
Давно я тут
  
Репутация: +17/-0
Offline
Пол: 
Сообщений: 273
ставь "+" руки не отсохнут
|
 |
« Ответ #7 : 14.11.2010, 19:29:46 » |
|
Еще один фич для вывода определенных ключевиков или meta description в зависимости от категории автоматически <?php $catid = (int) sobi2Config::request($_REQUEST, 'catid', 0); $customkey = null; if ($catid==43) $customkey ="ключевик1, ключевик2,..... или сюда пишем описание для категории с ID43"; if ($catid==44) $customkey ="ключевик3, ключевик4,..... или сюда пишем описание для категории с ID44"; .... и так далее перечисляем все категории .... ?> Вставляется это все после <?php defined( '_PITOMNIK2_' ) || ( trigger_error("Restricted access", E_USER_ERROR) && exit() ); ?> Пример использования с учетом ниже перечисленного: <?php $description ="Описание " .$mySobi->title."-".$fieldsObjects['field_city']->data.", " .$fieldsObjects['field_country']->data. ". ".reset($mySobi->myCategories)."".$customkey. "- Каталог организаций"; ?> ЗЫ. может кто поправит если не прав в PHPМодератор-может поправиш заголовок, если не совсем соответствует поисковому запросу
|
|
|
|
« Последнее редактирование: 14.11.2010, 19:35:46 от terveg »
|
Записан
|
|
|
|
aivas
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 49
|
 |
« Ответ #8 : 16.11.2010, 07:52:10 » |
|
Я сделал так <?php $document =& JFactory::getDocument(); ?> <?php $document->getDescription();?> <?php $description =$mySobi->title. ". " .$fieldsObjects['field_description']->data; ?> <?php $document->setDescription($description); ?> <?php $document->setMetaData("keywords", "$mySobi->title"); ?> вот только у меня в описании стоят теги <strong> и прочее, они автоматом идут в description  можно что нибудь дописать, чтобы теги вырезало?
|
|
|
|
|
Записан
|
|
|
|
terveg
Давно я тут
  
Репутация: +17/-0
Offline
Пол: 
Сообщений: 273
ставь "+" руки не отсохнут
|
 |
« Ответ #9 : 16.11.2010, 11:59:19 » |
|
как я не пробовал-теги не смог тоже удалить-гадость  вот есть идея, но сам не пробовал-в registry SOBI2 можно убрать редактор use_cms_wysiwyg_editor = "0"
и так (что не очень хорошо) http://www.sigsiu.net/forum/community-board-for-troubleshooting-problems/disabling-editor/msg75272/?topicseen;highlight#msg75272
|
|
|
|
|
Записан
|
|
|
|
aivas
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 49
|
 |
« Ответ #10 : 16.11.2010, 16:21:22 » |
|
нашел тему http://joomlaforum.ru/index.php/topic,131695.0.html там вырезают description... У меня щас description заполняется из (поле description при добавлении+ название sobi+ название категории+ описание категории ). Что примечательно, описание категории может содержать теги, и SOBI2 их вырезает при выводе тега description. Значит в SOBI2 заложено вырезание тегов из текста, просто текст берет из описания категории, а надо подставить, что бы текст брал из поля описания! Из выше приведенной темы, ясно что теги генерируются components\com_sobi2\includes\helper.class.php тут. Значит можно что то тут поменять, чтобы вывод тега description брал не из (поле description при добавлении+ название sobi+ название категории+ описание категории ), а из поля описания 'field_description' и он сам вырежет из него теги... Вот только в php я не силен... Если бы кто помог...
|
|
|
|
|
Записан
|
|
|
|
aivas
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 49
|
 |
« Ответ #11 : 18.11.2010, 11:52:12 » |
|
ктоб помог? яб денег дал!
|
|
|
|
|
Записан
|
|
|
|
Lord Glue
Завсегдатай
   
Репутация: +65/-0
Offline
Пол: 
Сообщений: 568
добрый пандо
|
 |
« Ответ #12 : 20.11.2010, 08:51:11 » |
|
как я не пробовал-теги не смог тоже удалить-гадость  А что, стандартная функция PHP strip_tags не подходит? Или регулярным выражением не судьба? Я думаю первая же ссылка в Google на запрос "вырезать все теги php" даст Вам ответ
|
|
|
|
« Последнее редактирование: 21.11.2010, 19:36:23 от Lord Glue »
|
Записан
|
|
|
|
aivas
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 49
|
 |
« Ответ #13 : 21.11.2010, 02:24:15 » |
|
А что, стандартная функция PHP strap_tags не подходит? Или регулярным выражением не судьба? Я думаю первая же ссылка в Google на запрос "вырезать все теги php" даст Вам ответ Lord Glue, я не шарю в php, <meta name="keywords" content="название предприятия" /> <meta name="description" content="текст из поля field_description, без тегов!" /> желательно правкой helper.class.php чтобы в шаблоны ни че не вставлять... кто знает как это сделать, стукните в ЛС. Спасибо.
|
|
|
|
|
Записан
|
|
|
|
terveg
Давно я тут
  
Репутация: +17/-0
Offline
Пол: 
Сообщений: 273
ставь "+" руки не отсохнут
|
 |
« Ответ #14 : 21.11.2010, 04:58:46 » |
|
А что, стандартная функция PHP strap_tags не подходит? Или регулярным выражением не судьба?
не такие глубокие познания в PHP  у меня, да и сразу дескрипшен не хотел впихивать-пользователи кучу мусора пишут "-1 балл" и еще слишком длинный мета тег получается по символам "-1 балл". Я оптимизировал по ключикам+метаописание+тайтл+теги в карточке=все совпадает теперь  а из поля описания-разбивл текст чтоб не казалось сильно жирно %) жду результатов от Yandex и гоши-медленно индексируют А за совет +1
|
|
|
|
|
Записан
|
|
|
|
aivas
Осваиваюсь на форуме
 
Репутация: +0/-0
Offline
Сообщений: 49
|
 |
« Ответ #15 : 21.11.2010, 18:36:00 » |
|
terveg раскажи как сделал?
|
|
|
|
|
Записан
|
|
|
|
DATA
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 21
|
 |
« Ответ #16 : 24.12.2010, 05:18:46 » |
|
Здраствуйте я новый в этом форуме! Как вы решили эту проблему с текста из поля field_description, без тегов! Всем привет!
|
|
|
|
|
Записан
|
|
|
|
pass-off
Захожу иногда

Репутация: +1/-0
Offline
Пол: 
Сообщений: 16
|
 |
« Ответ #17 : 03.02.2011, 01:29:31 » |
|
Сколько я не мучался с генерацией ключевиков для для сайта, остановился на одном решении - JomSeo. Надо только все остальные генераторы отключить, настроить этот плагин и будет вам счастье... P.S. этот плагин не всегда устанавливается по нормальному сразу. Лучше перед установкой проверить права на папки и после. Надеюсь поможет.
|
|
|
|
|
Записан
|
|
|
|
DATA
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 21
|
 |
« Ответ #18 : 07.02.2011, 20:45:39 » |
|
В конце концов среди концов я решил эту проблему и решил написать так: <?php $document->setTitle($mySobi->title.", ".$fieldsObjects['field_provincias']->data." ".$fieldsObjects['field_localidad']->data.", ".reset($mySobi->myCategories)); ?> <?php $document->getDescription();?> <?php $description =$mySobi->title.", ".$fieldsObjects['field_provincias']->data ." ".$fieldsObjects['field_localidad']->data." ". substr( strip_tags( $fieldsObjects['field_description']->data ), 0 ); ?><?php $document->setDescription($description); ?> <?php $document->setMetaData("keywords",$mySobi->title.", " .$fieldsObjects['field_provincias']->data ." ".$fieldsObjects['field_localidad']->data.",".reset($mySobi->myCategories).); ?> Если вы обратите внимание substr( strip_tags( $fieldsObjects['field_description']->data ), 0 ); ?> strip_tags чистит как раз тяги а если мы напишем substr( strip_tags( $fieldsObjects['field_description']->data ), 0, 250 ); ?> мы определяем количество характеров описания Надеюсь что это каму нибудь поможет облеглечит эту головаломку. 
|
|
|
|
|
Записан
|
|
|
|
TULLIVER
Захожу иногда

Репутация: +2/-0
Offline
Сообщений: 16
|
 |
« Ответ #19 : 15.02.2011, 11:20:05 » |
|
Расскажи по подробнее об этом коде, куда его нужно вставлять?!
|
|
|
|
|
Записан
|
|
|
|
DATA
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 21
|
 |
« Ответ #20 : 16.02.2011, 22:47:43 » |
|
В Template SOBI2, пример: <?php /** * @package: Standard Advanced 2 Template for SOBI2 * Details View Template * =================================================== * @author: Sigrid Suski, Sigsiu.NET * Url: http://www.sigsiu.net * =================================================== * @copyright Copyright (C) 2008 Sigsiu.NET (http://www.sigsiu.net). All rights reserved. * @license see http://www.gnu.org/licenses/lgpl.html GNU/LGPL. * You can use, redistribute this file and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation. */
defined( '_SOBI2_' ) || ( trigger_error("Restricted access", E_USER_ERROR) && exit() ); ?> <?php $document =& JFactory::getDocument(); ?>
<?php $document->setTitle($mySobi->title.", ".$fieldsObjects['field_provincias']->data." ".$fieldsObjects['field_localidad']->data.", ".reset($mySobi->myCategories)); ?> <?php $document->getDescription();?> <?php $description =$mySobi->title.", ".$fieldsObjects['field_provincias']->data ." ".$fieldsObjects['field_localidad']->data." ".substr( strip_tags( $fieldsObjects['field_description']->data ), 0 ); ?> <?php $document->setDescription($description); ?>
<?php $document->setMetaData("keywords",$mySobi->title.", " .$fieldsObjects['field_provincias']->data ." ".$fieldsObjects['field_localidad']->data.",".reset($mySobi->myCategories).","."anuncios gratis,anuncios,gratis"); ?>
<table class="sobi2Details" <?php echo $style; ?> >
|
|
|
|
|
Записан
|
|
|
|
nexter
Захожу иногда

Репутация: +1/-0
Offline
Сообщений: 19
|
 |
« Ответ #21 : 10.05.2011, 17:02:24 » |
|
Вот что получилось-работает 100% проверено! этот кусок добавляется в шаблон Details view после
Эта фича настраивает свои значения метаданных автоматически meta description meta keywords для карточки Details view SOBI2 так как Вы его настроите
в каком файле нужно искать этот кусок кода после которого вставлять код?
|
|
|
|
|
Записан
|
|
|
|
NOJEK
Осваиваюсь на форуме
 
Репутация: +3/-0
Offline
Пол: 
Сообщений: 96
|
 |
« Ответ #22 : 11.12.2011, 14:41:24 » |
|
Вот вывод мета для объявления, вставить в SOBI2.details.tmpl.php
<?php $document =& JFactory::getDocument(); ?> <?php $document->setTitle($mySobi->title ); ?> <?php $document->getDescription();?> <?php $description =$mySobi->metadesc; ?> <?php $document->setDescription($description); ?> <?php $document->setMetaData("keywords", $mySobi->metakey); ?>
Для категорий в helper.class.php
if( $cid > 1 ) { $metaDesc .= $config->getSobiStr( $config->getSobiStr( $comMeta->description ) ); }
if( $cid > 1 ) { $metaKeys .= $config->getSobiStr( $config->getSobiStr( $comMeta->introtext ) ); }
|
|
|
|
|
Записан
|
|
|
|
|