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

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

[Решено] Похожие объявления в AdsManager 2.9.13

 (Прочитано 971 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Ishti39
Осваиваюсь на форуме
***

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

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



« : 29.12.2015, 21:41:43 »

Сделал у себя вывод похожих объявлений из этого сайта http://fwinternet.blogspot.ru/2014/07/similar-ads-in-adsmanager.html, там для версии 2.6.5, я поставил на свою 2.9.13

Создаём в файле administrator/components/com_adsmanager/models/content.php  новую функцию getMoreContent().
Показать текстовый блок

Далее. Идём в папку components/com_adsmanager/views/details и открываем для редактирования файл view.html.php. В нём находим строчку:

parent::display($tpl);

и перед ней вставляем:

$more_ads = $contentmodel->getMoreContents(5, $catid, $content->id);
$this->assignRef('more_ads', $more_ads);

Спускаемся в конец документа и перед закрывающей фигурной скобкой класса вставляем функцию, которая и будет выводить похожие объявления:

Показать текстовый блок

Не забудьте изменить путь к каталогу с изображениями, если он у вас отличается от папки по умолчанию. Также в этой функции необходимо будет прописать классы, чтобы выравнивать блоки с объявлениями с помощью стилей.

Наконец, идём в папку components/com_adsmanager/views/details/tmpl и открываем для редактирования файл default.php. В месте, где требуется выводить похожие объявления, вызываем созданную на предыдущем этапе функцию.

Я лично вставил в самом конце после </div>:

<?php echo JText::_('ADSMANAGER_SIMILAR_ADS'); ?>
<?php
$this->displayMoreAds($this->more_ads, $this->Itemid, $this->conf->nb_images);
?>

и в языковой файл вставил:

ADSMANAGER_SIMILAR_ADS="Похожие объявления"

Теперь у меня в версии 2.9.13 выводяться похожие объявления.

А теперь вопрос к профессионалам:Картинки\фото, загруженные пользователями этих похожих объявлений не выводятся, вместо них выводится картинка НЕТ ФОТО, что нужно исправить в этих кодах, чтоб картинки выводились?  Smiley
« Последнее редактирование: 03.01.2016, 15:58:27 от Ishti39 » Записан
Ishti39
Осваиваюсь на форуме
***

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

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



« Ответ #1 : 31.12.2015, 00:12:51 »

что там может быть? Shocked Sad
Записан
Ishti39
Осваиваюсь на форуме
***

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

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



« Ответ #2 : 01.01.2016, 21:38:38 »

Всех С Новым Годом!  drink  Ребят, есть у кого какие домыслы по этому вопросу?  Cheesy
Записан
vipiusss
Профи
********

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

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


Skype: renor_


« Ответ #3 : 01.01.2016, 22:39:34 »

много букв и тут и по вашим постам... В коммраздел!
Записан
Ishti39
Осваиваюсь на форуме
***

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

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



« Ответ #4 : 01.01.2016, 23:06:25 »

много букв и тут и по вашим постам... В коммраздел!
я знаю где комраздел, надо было бы, обратился туда, и умничать по поводу моих постов и букв тебя не просил, сам то много по делу наговорил столько за полтора года?
Записан
vipiusss
Профи
********

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

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


Skype: renor_


« Ответ #5 : 02.01.2016, 12:28:39 »

Я вам не грубил, что вы указали минусом в карме у меня.
Где вы грубость увидели?Как дитё прям малое, обидели, написали в песочницу!

И вы код взяли походу отсюда, а там версия Joomla смотрели?
http://jom.su/oshibki-reshenie-problem/445-drugie/poxojie-obyavleniya-adsmanager.html?Itemid=0


« Последнее редактирование: 02.01.2016, 12:35:21 от vipiusss » Записан
NewUsers
Давно я тут
****

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

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


« Ответ #6 : 02.01.2016, 12:34:52 »

Я вам не грубил, что вы указали минусом в карме у меня.
Где вы грубость увидели?Как дитё прям малое, обидели, написали в песочницу!

За это даже не стоило было отвечать, раз уж он так с тобой...
Записан
vipiusss
Профи
********

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

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


Skype: renor_


« Ответ #7 : 02.01.2016, 12:38:15 »

За это даже не стоило было отвечать, раз уж он так с тобой...
Да как дети ей богу, жена не дала, начальник наорал....сразу минус ставить.

ТС, я ответил вверху, у вас код из того сайта стырен и он для Joomla 1.5 ветки, хоть ваша ссылка, хоть та, одно и тоже.
Копируют решение друг у друга и не смотрят, что для Joomla 1.5 ветки и там и пути и функции отличаются.

У вас БД не записывает картинку, как вы будете, точнее откуда выводить?
Записан
NewUsers
Давно я тут
****

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

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


« Ответ #8 : 02.01.2016, 12:41:24 »

Да как дети ей богу, жена не дала, начальник наорал....сразу минус ставить.

ТС, я ответил вверху, у вас код из того сайта стырен и он для Joomla 1.5 ветки, хоть ваша ссылка, хоть та, одно и тоже.
Копируют решение друг у друга и не смотрят, что для Joomla 1.5 ветки и там и пути и функции отличаются.

У вас БД не записывает картинку, как вы будете, точнее откуда выводить?

А мне ты это зачем рассказываешь?? Мне это не надо.....
Записан
vipiusss
Профи
********

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

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


Skype: renor_


« Ответ #9 : 02.01.2016, 12:45:59 »

А я и не тебе, я же написал ТС, т.е. автору.
Ishti39 вот почитайте тему, там и ссылки есть готовые, скачайте и вырежьте готовое http://joomlaforum.ru/index.php?topic=296952.0
Записан
Ishti39
Осваиваюсь на форуме
***

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

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



« Ответ #10 : 03.01.2016, 15:27:58 »

Я вам не грубил, что вы указали минусом в карме у меня.
Где вы грубость увидели?Как дитё прям малое, обидели, написали в песочницу!

И вы код взяли походу отсюда, а там версия Joomla смотрели?
http://jom.su/oshibki-reshenie-problem/445-drugie/poxojie-obyavleniya-adsmanager.html?Itemid=0



Уажаемый vipiusss, не уважение к людям, которые только начинают изучать и постигать сайтостроение, это и есть грубость, люди не рождаются пиайчпишниками,  Cheesy форум для того и создан, чтобы люди учились и постигали енту науку и я не считаю, что мелкие доработки компонентов, с которых админы не зарабатывают денег, нужно обращаться в комраздел, тем более такие доработки улучшают их восприятие и косаються почти всех, кто им пользуется.Нужно просто уважать всех, без исключения, тогда и минусы ставить не будут Wink.Можно же было сразу просто подсказать без "лишних букв", сразуб + заработал бы Smiley.Код я взял с сайта по ссылке которую указал вверху, версию Joomla я видел, решил попробовать на своей, в этом ничего страшного нет.Объявления же выводяться, а вот фотки так и не получилось прикрутить, ниже напишу что изменил, модуль мне не хочется вставлять.
« Последнее редактирование: 03.01.2016, 20:43:53 от Ishti39 » Записан
Ishti39
Осваиваюсь на форуме
***

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

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



« Ответ #11 : 03.01.2016, 15:56:20 »

в первом посте вместо кода
Показать текстовый блок
вставляем этот:
Показать текстовый блок
далее вместо:
Показать текстовый блок
вставляем этот код:
Показать текстовый блок
Теперь похожие объявления с заголовком выводятся и с описанием, длину описания можете сами свою вставить, нужно изменять в этих строчках:
$af_text = JString::substr($content->ad_text, 0, 60).".....";
вместо 60 символов вставте своё число.
На ентом тема завершена.Ну если у кого получится прикрутить картинки, будет очень даже не плохо.Выложите здесь, если получится.Всем спасибо!
Записан
Paha_web
Осваиваюсь на форуме
***

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

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


Еще правок хотите?


« Ответ #12 : 07.01.2016, 23:00:27 »

Вот вам картинки:

Код:
function displayMoreAds($contents, $itemid, $nbimages,$oper) {
    if (count($contents) > 0) {
    ?>
    <div class="more_ads">
   
    <h2>
        <?php echo JText::_('ADSMANAGER_SIMILAR_ADS'); ?>
    </h2>
   
    <?php
    foreach($contents as $content) {
        $linkTarget = JRoute::_("index.php?option=com_adsmanager&view=details&id=".$content->id."&catid=".$content->catid);

        $images_arr = json_decode($content->images);
        ?>

        <div class="more_ads_item">
            <div class="more_ads_img">
           
           
           
            <a href="<?php echo $linkTarget; ?>"><?php
             
             $pic = JPATH_BASE."/images/com_adsmanager/ads/".$images_arr[0]->thumbnail."";
           
           //  echo $pic; 

             if(count($images_arr) && file_exists($pic)){
                    echo '<img src="'.$this->baseurl.'images/com_adsmanager/ads/'.$images_arr[0]->thumbnail.'" alt="" />';
                } else {
                    echo '<img src="'.$this->baseurl.'components/com_adsmanager/images/'.JText::_('ADSMANAGER_NOPIC').'" alt="" />';
                }

            ?></a></div>
           
           
            <div class="more_ads_link"><a href="<?php echo $linkTarget; ?>"><?php echo $content->ad_headline; ?></a></div>
        </div>
        <?php
    }
    ?></div>
    <?php
    }
}   
Записан
Ishti39
Осваиваюсь на форуме
***

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

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



« Ответ #13 : 08.01.2016, 01:34:27 »

Вот вам картинки:

Код:
function displayMoreAds($contents, $itemid, $nbimages,$oper) {
    if (count($contents) > 0) {
    ?>
    <div class="more_ads">
    
    <h2>
        <?php echo JText::_('ADSMANAGER_SIMILAR_ADS'); ?>
    </h2>
    
    <?php
    foreach($contents as $content) {
        $linkTarget = JRoute::_("index.php?option=com_adsmanager&view=details&id=".$content->id."&catid=".$content->catid);

        $images_arr = json_decode($content->images);
        ?>

        <div class="more_ads_item">
            <div class="more_ads_img">
            
            
            
            <a href="<?php echo $linkTarget; ?>"><?php
            
             $pic = JPATH_BASE."/images/com_adsmanager/ads/".$images_arr[0]->thumbnail."";
            
           //  echo $pic;  

             if(count($images_arr) && file_exists($pic)){
                    echo '<img src="'.$this->baseurl.'images/com_adsmanager/ads/'.$images_arr[0]->thumbnail.'" alt="" />';
                } else {
                    echo '<img src="'.$this->baseurl.'components/com_adsmanager/images/'.JText::_('ADSMANAGER_NOPIC').'" alt="" />';
                }

            ?></a></div>
            
            
            <div class="more_ads_link"><a href="<?php echo $linkTarget; ?>"><?php echo $content->ad_headline; ?></a></div>
        </div>
        <?php
    }
    ?></div>
    <?php
    }
}  
Отлично Paha_web , только у меня 2 ошибки выдаёт Sad, правда картинки и заголовки выводит Smiley.Пришлось малость подработать твой код под свои стили, убрал из кода вывод
<h2>
        <?php echo JText::_('ADSMANAGER_SIMILAR_ADS'); ?>
    </h2>
это у меня в папке default.php прописано и там же изменил строку:
$this->displayMoreAds($this->more_ads, $this->Itemid,  $this->nbimages);
на эту:
$this->displayMoreAds($this->more_ads, $this->Itemid,  $this->nbimages, $this->oper);

все ошибки сразу исчезли Grin.Тебе + в репу. drink
Записан
Paha_web
Осваиваюсь на форуме
***

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

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


Еще правок хотите?


« Ответ #14 : 23.01.2016, 11:25:35 »

Странно, у меня без ошибок работает. Вообще в идеале я бы не делал в view.html генерацию объявлений, это нужно делать в в шаблоне вида default.php, я уже поставил ваш пример ибо некогда возится...
Записан
Rinat abzyi
Осваиваюсь на форуме
***

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

Сообщений: 34


Сайт по изучению арабского языка Dirasa.ru


« Ответ #15 : 05.05.2016, 15:33:53 »

Подскажите решение на то, как вывести похожие объявления не только по категориям, но и по полям. Есть поля, "города" и "районы", нужно вывести похожие объявления и название этих полей в этих объявлениях. Спасибо!
Записан
SerGunSter
Осваиваюсь на форуме
***

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

Сообщений: 113


« Ответ #16 : 10.05.2016, 18:10:22 »

Ребята, привет.
а использование order by rand () нормально работает не напрягает никого? а то вроде не производительное решение Azn
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

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