Форум русской поддержки Joomla!® CMS
17.08.2017, 03:47:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Основной курс по Joomla
Страниц: [1] 2 3  Все   Вниз
  Добавить закладку  |  Печать  
Автор

Изменения к AdsManager (description, keywords, title , captcha(kcaptcha))

 (Прочитано 16753 раз)
0 Пользователей и 1 Гость смотрят эту тему.
AlexSims
Давно я тут
****

Репутация: +38/-0
Offline Offline

Пол: Мужской
Сообщений: 329


кручу верчу


« : 22.04.2010, 21:42:15 »

Собрал в кучу некоторые полезные изменения, а именно:

Изменения

1-CAPTCHA при подаче объявления(kcaptcha-работает с кэшированием в отличии от Tincaptchi (у меня она не заработала с кэшом)
2-изменение ввывода текста на главной без крякозябликов и увеличен размер до 200 символов
3-изменение Meta тегов ( description , keywords, title)

1 - CAPTCHA(Kcaptcha)
 adsmanager.php
строка - 1120 ( у меня)
 
Код:
// НАЧАЛО НАШЕГО КОДА кCAPTCHA  by AlexSims
session_start();
if(isset($_SESSION['captcha_keystring'])&&($_SESSION['captcha_keystring']==$_POST['captcha']))
   $_POST['captcha']=1;

       if ($_POST['captcha'] !== 1){
        JError::raiseWarning(403, JText::_( 'Вы ввели неправильные СИМВОЛЫ! Повторите попытку.В течении 5 секунд Вы будите перенаправлены на форму подачи объявления. Если Ваш браузер не поддерживает перенаправления, то щелкните на ссылку' ));

//Перенаправление по ссылке или с задержкой в 8 сек на указаный адрес

        echo '<a href="http://mysite.html"><font size="4px">Ссылка</font></a>';
        header("Refresh:8;URL=/");  

        return false;
}


else
   $_POST['captcha']=0;

//КОНЕЦ КОДА  

adsmanager.html.php
строка 1569

Код:
<!--НАЧАЛО КОДА кCAPTCHA AlexSims-->

<?php session_start(); ?><br />
<img src="/kcaptcha/index.php?<?php echo session_name()?>=<?php echo session_id()?>"
 alt="Включите показ картинок в браузере" />
<br />
<label for="adsmanager_captcha">
Введите код с картинки:
</label>
<br />
<input type="text" name="captcha" id="adsmanager_captcha" value="" size="30" maxlength="10" />
<!--КОНЕЦ ДОБАВЛЯЕМОГО КОДА-->

2-Изменения вывода текста на главной
adsmanager.html.php
*строка 509( у меня)
Код:
$af_text = JString::substr($row->ad_text, 0, 200)."...";


3-Изменения decsription и т.д.
добавляйте код (  помеченный коммент  //Dynamic Page Meta Discription  ) в функцию  function show_ad


после обращения к базе  
(  $database->setQuery("SELECT a.*, p.name as parent, p.id as parentid, c.name as cat, ........................ и т д
                  
   $database->loadObject($ad)Wink


Код:
str.669
  //Dynamic Page Title category
$mainframe->SetPageTitle( $cat_name );



str.805

//Dynamic Page Title
$mainframe->SetPageTitle( $ad->ad_headline . " - " . $ad->cat  );



       //Dynamic Page Meta Discription
        $des_s = JString::substr($ad->ad_text,0, 150)."...";
        $mainframe->prependMetaTag( "description", $des_s );
        $mainframe->prependMetaTag( "keywords" , $ad->ad_keywords );

Если найду как прикрепить файлы ( то приклеплю описания и все измененые и необходимые)
« Последнее редактирование: 05.06.2010, 22:04:03 от AlexSims » Записан
bargakuzzo
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 46



« Ответ #1 : 23.04.2010, 20:54:42 »

А я сделал так к "3-Изменения decsription и т.д.":
adsmanager.php (строка где-то 900-920)


//Dynamic Page Title
   //$mainframe->SetPageTitle( ADSMANAGER_PAGE_TITLE . $ad->cat . " - ". $ad->ad_headline ); заминил на
   $mainframe->SetPageTitle( $ad->ad_headline ." - ". $ad->cat ." - ". ADSMANAGER_PAGE_TITLE );
   
   //Dynamic Page Meta Discription вставил
    $mainframe->prependMetaTag( "description", $ad->ad_headline );
   
   //Dynamic Page Meta Keywords вставил
    $mainframe->prependMetaTag( "keywords", $ad->ad_headline ." ". $ad->ad_text );

- этот код для Meta самого объявления.
Записан
AlexSims
Давно я тут
****

Репутация: +38/-0
Offline Offline

Пол: Мужской
Сообщений: 329


кручу верчу


« Ответ #2 : 23.04.2010, 22:03:56 »

ну в титле у меня и так в конце приписывается название сайта ( это через артио)
а дескриптион подумал что лучше обрезать часть описания и вставить а то схоже с заголовком

А ключевики у Вас получаются из заголовка и самого текста. Они разбиваются через запятую или весь текст подряд?
У меня просто сам пользователь забивает текст в ключевики(не знаю как сделать чтоб они автоматом формировали и разбивались через запятую, если только попробывать вырвать модуль из форума пхп3 который формирует ключевики, но я не силен в пхп)
вот пример
А это как в форуме формир ключевики
« Последнее редактирование: 19.11.2014, 02:23:05 от AlexSims » Записан
artrox
Захожу иногда
**

Репутация: +0/-0
Offline Offline

Сообщений: 11


« Ответ #3 : 27.04.2010, 10:34:06 »

А как сделать,что бы вместо категорий во вкладке "все объявления" выводились фото,как это выглядит в модуле "Последние объявления"?
Записан
AlexSims
Давно я тут
****

Репутация: +38/-0
Offline Offline

Пол: Мужской
Сообщений: 329


кручу верчу


« Ответ #4 : 10.05.2010, 14:02:14 »

Я добавил поле ключевые слова и такой код
 //Dynamic Page Meta Keywords вставил
    $mainframe->prependMetaTag( "keywords", $ad->ad_keywords);
у меня так же но считаю это не выход для ленивых пользователей( им лень забивать ключевики или такое назабивают что в тексте то и не встретишь)
Записан
AlexSims
Давно я тут
****

Репутация: +38/-0
Offline Offline

Пол: Мужской
Сообщений: 329


кручу верчу


« Ответ #5 : 15.05.2010, 21:26:18 »

поправочка  ( после долго юзанья вылетел небольшой глюк - ошибку в старте сессии)
решилось так изменить код
Код:
session_start();
на
Код:
if (!$_SESSION) session_start();
  в adsmanager.php
и изменить код
Код:
<?php session_start(); ?>
на
Код:
<?php
 
if (!$_SESSION) session_start();
?>
  в adsmanager.html.php
Записан
AlexSims
Давно я тут
****

Репутация: +38/-0
Offline Offline

Пол: Мужской
Сообщений: 329


кручу верчу


« Ответ #6 : 19.05.2010, 18:08:52 »

Изменения ( после обновления до 1.5.17  CAPTCHA перестала работать)
Сделать изменения:
1-скачать kcaptcha  c сайта ( вдруг что обновилось)
2-добавить код в index.php  в корне сайта
стр 20
Код:
// BEGIN PATCH
session_start();
if(isset($_SESSION['captcha_keystring'])&&($_SESSION['captcha_keystring']==$_POST['captcha']))
   $_POST['captcha']=1;
else
   $_POST['captcha']=0;
session_destroy();
// END PATCH

стр 100
Код:
// BEGIN PATCH
JSession::close();
// END PATCH

фаил adsmanager.php  стр 1125 ( перед кодом // store it in the db

   if (!$row -> store()) {

      echo "<script> alert('"

         .$row -> getError() )
Код:
// НАЧАЛО НАШЕГО КОДА кCAPTCHA  by AlexSims

 
 if ($_POST['captcha'] !== 1){
        JError::raiseWarning(403, JText::_( 'Вы ввели неправильные СИМВОЛЫ! Повторите попытку.В течении 5 секунд
         Вы будите  перенаправлены      на форму подачи объявления. Если Ваш браузер
         не поддерживает перенаправления, то щелкните на ссылку' ));

//Перенаправление по ссылке или с задержкой в 8 сек на указаный адрес

        echo '<a href="/objavleniya.html?page=write_ad"><font size="4px">Ссылка</font></a>';
        header("Refresh:8;URL=/objavleniya.html?page=write_ad"); 

       
     return false;
 
}
//КОНЕЦ КОДА 


фаил adsmanager.html.php  стр 1648 ( перед кодом <!-- buttons -->
            <label for="ad_dummy"> </label>
            <input type="hidden" name="gflag" value="0" />
            <?php
            if (isset($row->date_created))
               echo "<input type='hidden' name='date_created' value='".$row->date_created."' />";   
               )
Код:
<!--НАЧАЛО КОДА кCAPTCHA AlexSims-->
<input type="text" name="captcha" id="adsmanager_captcha"  size="10" maxlength="8" />
<img src="<?php JURI::base()?>/kcaptcha/index.php?<?php echo session_name(); ?>=<?php echo session_id(); ?>" alt="Captcha" style="vertical-align:-25px;" />


<label for="adsmanager_captcha">
<br/>
<?php echo JText::_( 'Введите код с картинки' ); ?>:
</label>
<br />

<!--КОНЕЦ ДОБАВЛЯЕМОГО КОДА-->


Работае с кэшем и включеным system-cache plugin .

Осталось решить вопрос чтобы при успешном добавление объявления не кэшировалась форма вывода об удачном добавлении объявления.
Записан
GlooM
Разработчик расширений для Joomla 1.0
*

Репутация: +91/-0
Offline Offline

Пол: Мужской
Сообщений: 559


AdsManager


« Ответ #7 : 03.06.2010, 09:53:38 »

Все отлично, решения хорошие Azn
Но Вы бы писали в какую функцию вставлять и после каких строк, т.к.
Цитировать
строка - 1120 ( у меня)
не всегда есть у других Azn
Записан
AlexSims
Давно я тут
****

Репутация: +38/-0
Offline Offline

Пол: Мужской
Сообщений: 329


кручу верчу


« Ответ #8 : 03.06.2010, 12:20:00 »

Ну в принципе вывод картинки вставить можно куда угодно( кому как нравиться)
У меня лично так
adsmanager.html.php

  function show_write_form

после кода if (function_exists("editPaidAd")){
               editPaidAd($row);
            }
            
            ?>



и перед кодом <!-- buttons -->
            <label for="ad_dummy"> </label>
            <input type="hidden" name="gflag" value="0" />


adsmanager.php   

  function save_ad

 после кода $redirect_text .= ADSMANAGER_UPDATE_SUCCESSFULL;

   

   if ($isUpdateMode == 0)

   {

      $row->date_created = date("Y-m-d");
               

   }


и перед кодом
// store it in the db

   if (!$row -> store()) {

      echo "<script> alert('"

         .$row -> getError()

         ."'); window.history.go(-1); </script>\n";

      exit();   

   }

   

   if (function_exists("savePaidAd"))



Надеюсь понятно объяснил?
Записан
GlooM
Разработчик расширений для Joomla 1.0
*

Репутация: +91/-0
Offline Offline

Пол: Мужской
Сообщений: 559


AdsManager


« Ответ #9 : 03.06.2010, 12:53:36 »

Цитировать
Надеюсь понятно объяснил?
Да, вполне Azn
Спасибо Azn
Записан
AlexSims
Давно я тут
****

Репутация: +38/-0
Offline Offline

Пол: Мужской
Сообщений: 329


кручу верчу


« Ответ #10 : 03.06.2010, 14:41:15 »

пожалуйста
Записан
Grendy
Давно я тут
****

Репутация: +25/-0
Offline Offline

Пол: Мужской
Сообщений: 247


« Ответ #11 : 05.06.2010, 07:18:47 »

Цитировать

   //Dynamic Page Meta Discription вставил
    $mainframe->prependMetaTag( "description", $ad->ad_headline );
   
   //Dynamic Page Meta Keywords вставил
    $mainframe->prependMetaTag( "keywords", $ad->ad_headline ." ". $ad->ad_text );

- этот код для Meta самого объявления.

А можно поподробнее, пожалуйста? Что-то не нахожу у себя вообще строчек в adsmanager.php и в adsmanager.html.php, начинающихся на $mainframe->prependMetaTag... Самому вписать нужно?  Shocked
Записан
lsk
Давно я тут
****

Репутация: +13/-5
Offline Offline

Сообщений: 370



« Ответ #12 : 05.06.2010, 09:20:35 »

Нет ли решения по встраиваннию визуального редактора?
Записан
AlexSims
Давно я тут
****

Репутация: +38/-0
Offline Offline

Пол: Мужской
Сообщений: 329


кручу верчу


« Ответ #13 : 05.06.2010, 13:13:21 »

А можно поподробнее, пожалуйста? Что-то не нахожу у себя вообще строчек в adsmanager.php и в adsmanager.html.php, начинающихся на $mainframe->prependMetaTag... Самому вписать нужно?  Shocked

если нет    (хорошо поискали в  function show_ad  ?))   то впишите сами  в adsmanager.php
Записан
AlexSims
Давно я тут
****

Репутация: +38/-0
Offline Offline

Пол: Мужской
Сообщений: 329


кручу верчу


« Ответ #14 : 05.06.2010, 13:14:23 »

Нет ли решения по встраиваннию визуального редактора?

как бы не требовалось. стандартная форма ввода устраивает.
Записан
Grendy
Давно я тут
****

Репутация: +25/-0
Offline Offline

Пол: Мужской
Сообщений: 247


« Ответ #15 : 05.06.2010, 17:07:37 »

если нет    (хорошо поискали в  function show_ad  ?))   то впишите сами  в adsmanager.php
Хорошо поискал. Не было, вписал предложенные Вами. В итоге, при просмотре исходного кода страницы, поля дескрипшн и киворд получаются абсолютно пустыми:

  <meta name="keywords" content=" " />
  <meta name="description" content="" />

Как я понимаю, ad_keywords - должен брать некие ключевые слова объявления, а вовсе не формирует их? При добавлении объявления пользователям не предлагается вписывать никаких ключевых слов - такой опции просто нет... Где ж их взять-то?  Sad Создать новое поле "Ключевые слова"? Или я чего-то не так понял?
Записан
AlexSims
Давно я тут
****

Репутация: +38/-0
Offline Offline

Пол: Мужской
Сообщений: 329


кручу верчу


« Ответ #16 : 05.06.2010, 18:13:58 »

все правильно создайте поля ( где пользователь будет писать ключевые слова сам) а они потом в кейвродс попадут

какая у вас версия адсманаджера? возможно там за заголовок другая переменная отвечает.
поясню по коду чтоб понятно было
//Dynamic Page Meta Discription
        $des_s = JString::substr($ad->ad_text,0, 150)."...";
        $mainframe->prependMetaTag( "description", $des_s );
        $mainframe->prependMetaTag( "keywords" , $ad->ad_keywords );



ad_text    - отвечает за описание объявления (непосредственно тот текст который пользователь набирает в теле объявления)в соответствии  должно быть такое поле ( в данном коде береться этот текст обрезается до 150 символов и отправляется в description )
ad_keywords  - ключевые слова ( помимо кода , создается в админке соответвственное поле, в последствии пользователь при наборе объявления сам указывает ключевые слова)

Надеюсь понятно объяснил?
« Последнее редактирование: 05.06.2010, 18:20:36 от AlexSims » Записан
AlexSims
Давно я тут
****

Репутация: +38/-0
Offline Offline

Пол: Мужской
Сообщений: 329


кручу верчу


« Ответ #17 : 05.06.2010, 18:23:53 »

если хотите чтобы ключевики автоматом формировались из тела объявления ( то пишите код который будет обрабатывать текст ( от пробела до пробела) сравнивать и наиболее часто встречающиеся слова подставлять в ключевики),
« Последнее редактирование: 05.06.2010, 20:15:58 от AlexSims » Записан
Grendy
Давно я тут
****

Репутация: +25/-0
Offline Offline

Пол: Мужской
Сообщений: 247


« Ответ #18 : 05.06.2010, 20:35:46 »

какая у вас версия адсманаджера?
Версия 2.2.2. За описание отвечает ad_text, но поля всё же остаются пустыми, если использовать предоставленный код... Sad Если убираешь $ad-> - тогда в поле будет писать то, что написано после $ad->. Вставляешь $ad-> - всё, поле абсолютно пустое...
Записан
AlexSims
Давно я тут
****

Репутация: +38/-0
Offline Offline

Пол: Мужской
Сообщений: 329


кручу верчу


« Ответ #19 : 05.06.2010, 20:59:39 »

Версия 2.2.2. За описание отвечает ad_text, но поля всё же остаются пустыми, если использовать предоставленный код... Sad Если убираешь $ad-> - тогда в поле будет писать то, что написано после $ad->. Вставляешь $ad-> - всё, поле абсолютно пустое...
в личку написал
Записан
stef21
Осваиваюсь на форуме
***

Репутация: +8/-0
Offline Offline

Сообщений: 152


« Ответ #20 : 04.08.2011, 11:49:38 »

А как увеличить число символов в описании категорий на 2.5 ?
Записан
Dimm555
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Пол: Мужской
Сообщений: 103



« Ответ #21 : 22.01.2012, 20:48:49 »

А как сделать в AdsManager 2.6 тоже в объявлениях собственный keywords и description, либо чтобы тянуло из созданных и заполненных вручную полей? Готов немного заплатить.
Понимаю что скорее всего в "/com_adsmanager/views/details/view.html.php" надо добавить что-нибудь типа этого, но не знаю как правильно:
Код:
$document =& JFactory::getDocument();
$joomla = JFactory::getApplication();
$params = $joomla->getParams();

$keywords = $params->get('keywords', ad_klyuchi);
$description = $params->get('description', ad_opisanie);

$document->setMetadata('keywords', $keywords);
$document->setDescription($description);
Записан
AlexSims
Давно я тут
****

Репутация: +38/-0
Offline Offline

Пол: Мужской
Сообщений: 329


кручу верчу


« Ответ #22 : 22.01.2012, 21:17:48 »

про адс 2.5 и 2.6  я не знаю.
Записан
Dimm555
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Пол: Мужской
Сообщений: 103



« Ответ #23 : 23.01.2012, 13:42:27 »

Это печально:) Очень нужная вещь для голой 2.6 версии. Из-за одинаковой меты для всех страниц сайта у меня Яндекс не главную ставит по запросу "объявления в .....", а какое-то объявление:). Ладно, буду искать фриланса.
Записан
Alex89
Завсегдатай
*****

Репутация: +198/-1
Offline Offline

Пол: Мужской
Сообщений: 555


Joomlaman :)


« Ответ #24 : 23.01.2012, 16:36:07 »

Цитировать
А как сделать в AdsManager 2.6 тоже в объявлениях собственный keywords и description
В последней сборке 2.6.5 это стандартная фича
Записан
Dimm555
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Пол: Мужской
Сообщений: 103



« Ответ #25 : 24.01.2012, 17:12:25 »

Alex89, установил последнюю версию 2.6.5 с Joomprod.com, но мета по-прежнему общая, и никаких настроек или полей в админке компонента, к сожалению, не нашел.
Записан
Alex89
Завсегдатай
*****

Репутация: +198/-1
Offline Offline

Пол: Мужской
Сообщений: 555


Joomlaman :)


« Ответ #26 : 24.01.2012, 17:23:37 »

Цитировать
Alex89, установил последнюю версию 2.6.5 с Joomprod.com
качать надо было последний билд с репы (репозиторий, хранилище)! http://91.121.24.220/redmine/projects/adsmanager/repository/changes/trunk/pack_free_adsmanager_unzipfirst.zip
Записан
Dimm555
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Пол: Мужской
Сообщений: 103



« Ответ #27 : 24.01.2012, 19:09:00 »

Ага, спасибо! Поставил, да, есть ручное мета.
Записан
melnik
Осваиваюсь на форуме
***

Репутация: +3/-0
Offline Offline

Пол: Мужской
Сообщений: 49



« Ответ #28 : 25.01.2012, 08:20:16 »

качать надо было последний билд с репы
поставил эту версию, но description как был, так и остался один для всего сайта.
Записан
Dimm555
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Пол: Мужской
Сообщений: 103



« Ответ #29 : 26.01.2012, 19:22:41 »

поставил эту версию, но description как был, так и остался один для всего сайта.
Там в админке необходимо включить Configuration \ General \ Metadata и выбрать нужный тебе вариант. Но у меня клюк - через админку \ ads не удаляет и не меняет фото, видимо из-за загрузчика фотографий.
Записан
Страниц: [1] 2 3  Все   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet