0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 2340 Просмотров
*

EndVal

  • Захожу иногда
  • 54
  • 10 / 0
Настройка "последних объявлений" на колонки и строки тесно связана. Их решение гораздо проще.
Может поможет.

9.   Как настроить количество колонок в «последние объявления»?
По адресу  \components\com_adsmanager\views\front\view.html.php

function display($tpl = null)
   …..
   $contents = $contentmodel->getLatestContents(4); /*  количество колонок последних объявлений*/
   $this->assignRef('contents',$contents);
   parent::display($tpl);
   …..

10.   Как установить «последние объявления» в две строки?
Примечание: если хотите 4х2 , то см. предыдущий пункт - запрос на 8 .
( $contents = $contentmodel->getLatestContents(8);

По адресу   \components\com_adsmanager\views\front\view.html.php

   function displayContents($contents,$itemid,$nbimages) {
   ?>
      <h1 class="contentheading"><?php echo JText::_('ADSMANAGER_LAST_ADS');?></h1>
      <div class='adsmanager_box_module' align="center">
         <table class='adsmanager_inner_box' width="100%">
         <tr align="center">
         <?php
        $ss = 0;  /*счетчик перехода*/
         foreach($contents as $row) {
        if ($ss == 4) /* условие перехода*/
         {
         echo "<TR>";}
         ?>
            <td height="100" valign="top">
            <?php
            $ss++;   /*инкремент */
            $linkTarget = JRoute::_("index.php?option=com_adsmanager&view=details&
            id=".$row->id."&catid=".$row->catid."&Itemid=".$itemid);         
            $ok = 0;
            $i = 1;
            while(!$ok)
            ……….

Может возникнуть следующий вопрос после предыдущих изменений:

8.   Как выровнять изображения в «последние объявления»?
По адресу \components\com_adsmanager\views\front\view.html.php

function displayContents($contents,$itemid,$nbimages) {
…..
?>
   <h1 class="contentheading"><?php echo JText::_('ADSMANAGER_LAST_ADS');?></h1>
   <div class='adsmanager_box_module' align="center">
   <table class='adsmanager_inner_box' width="100%">
      <tr align="center">
      <?php
      foreach($contents as $row) {
      ?>
      <td height="100" valign="top"> /* выравнивание изображений по верху */
…….
*

EndVal

  • Захожу иногда
  • 54
  • 10 / 0
Может кого-нибудь будет интересно логика решения задачи.
Итак, я программист с базами данных, PHP –  знаю поверхностно.
Очень хороший чел попросил помочь с этой проблемой.
Прочитал все внимательно, сложилось мнение, что многие решают задачи методом «тыка», т.е все «процессы» остаются «за спиной».
Прочитал все *.php, вызовы функций и нашел    $contents = $contentmodel->getLatestContents(4); - это то, что нужно. В файле \components\com_adsmanager\views\front\view.html.php
getLatestContents дословно взять последние контенты. Поэкспериментировал, да действительно тупо вытаскивает количество последних объяв.
getLatestContents(4) – значит 4 последних, getLatestContents(8) – восемь. Сколько угодно, столько и заказывай. Но надо знать меру, а то получится как в мультфильме: «можешь сшить 2  шапки » - да, 3 – да, … а 7 – да. В итоге 7 маленьких шапок, колонок в нашем случае.
Вот теперь возник вопрос о переходе на другую строку.
Например, 3 колонки на 2 строки. Считаем 3х2 = 6. Значит getLatestContents(6).
Осталось дописать переход на вторую строку. Смотри пункт 10.
Нашел function displayContents($contents,$itemid,$nbimages) в том же файле
displayContents дословно вывод контента, т.е объявы
Дописал следующее:

$ss = 0; это счетчик перехода? В начале 0.
         if ($ss == 4)  условие перехода в нашем случае если 4 то переход
         {
         echo "<TR>";} – переход на следующую строку
        ?>
…. Обрабатываем данные объяв по одиночке

            $ss++;   инкремент  считаем

Не обессудьте, если что – не так. Ничего сложного – немного английского, немного понимания программирования, учитывая, что практически не занимался PHP.

Примечание; почему выражение "8)" из "getLatestContents(8);"" превращается в смайлик?
*

vulkan76

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Английский знаю поверхностно, пытаюсь разобраться методом "тыка", никак не могу вывести сразу расширенный поиск. http://joomlaforum.ru/index.php/topic,175751.msg946640.html#msg946640 Может, поможешь...?
*

vulkan76

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Все, что нашел по этому вопросу - модификация на 2.5 http://joomlaforum.ru/index.php/topic,33422.0.html
*

tas777

  • Захожу иногда
  • 62
  • 0 / 0
для тех у кого ads 2.5 все тоже самое только делается все в файле AdsManager.html.php
функция называется
function lastAds($ads,$option,$itemid,$nb_images) {
      global $mosConfig_live_site,$mosConfig_absolute_path;
   ?>
      <h1 class="contentheading"><?php echo ADSMANAGER_LAST_ADS;?></h1>
      <div class='adsmanager_box_module' align="center">
         <table class='adsmanager_inner_box' width="100%">
         <tr align="center">
         <?php
         $ss = 0;  /*счетчик перехода*/
         foreach($ads as $row) {
         if ($ss == 3) /* условие перехода*/
         {
         echo "<TR>";}
         ?>
            <td height="100" valign="top">
            <?php
            $ss++;   /*инкремент */   
            $linkTarget = sefRelToAbs("index.php?option=com_adsmanager&amp;page=show_ad&amp;adid=".$row->id."&amp;catid=".$row->catid."&amp;Itemid=".$itemid);         
            $ok = 0;$i=1;
            $nbimages = $nb_images;
            if (function_exists("getMaxPaidSystemImages"))
            {
               $nbimages += getMaxPaidSystemImages();
            }

затем заходим в файл asdmanager.php
ищем код "WHERE c.published = 1 and a.published = 1 GROUP BY a.id ORDER BY a.date_created DESC ,a.id DESC LIMIT 0, 3";
и меняем 3 на число нужное вам. я поменял на 6. и теперь у меня как доходит до 3-х объявлений переходит на новую строку
*

дмитрий987

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Может кого-нибудь будет интересно логика решения задачи.
Итак, я программист с базами данных, PHP –  знаю поверхностно.
очень хороший чел попросил помочь с этой проблемой.
Прочитал все внимательно, сложилось мнение, что многие решают задачи методом «тыка», т.е все «процессы» остаются «за спиной».
Прочитал все *.php, вызовы функций и нашел    $contents = $contentmodel->getLatestContents(4); - это то, что нужно. В файле \components\com_adsmanager\views\front\view.html.php
getLatestContents дословно взять последние контенты. Поэкспериментировал, да действительно тупо вытаскивает количество последних объяв.
getLatestContents(4) – значит 4 последних, getLatestContents(8) – восемь. Сколько угодно, столько и заказывай. Но надо знать меру, а то получится как в мультфильме: «можешь сшить 2  шапки » - да, 3 – да, … а 7 – да. В итоге 7 маленьких шапок, колонок в нашем случае.
Вот теперь возник вопрос о переходе на другую строку.
Например, 3 колонки на 2 строки. Считаем 3х2 = 6. Значит getLatestContents(6).
Осталось дописать переход на вторую строку. Смотри пункт 10.
Нашел function displayContents($contents,$itemid,$nbimages) в том же файле
displayContents дословно вывод контента, т.е объявы
Дописал следующее:

$ss = 0; это счетчик перехода? В начале 0.
         if ($ss == 4)  условие перехода в нашем случае если 4 то переход
         {
         echo "<TR>";} – переход на следующую строку
        ?>
…. Обрабатываем данные объяв по одиночке

            $ss++;   инкремент  считаем

Не обессудьте, если что – не так. Ничего сложного – немного английского, немного понимания программирования, учитывая, что практически не занимался PHP.

Примечание; почему выражение "8)" из "getLatestContents(8);"" превращается в смайлик?

Не подскажешь как можно сделать чтобы объявления  выходили по 2-3 в строчке.
Я начинающий пользователь, имею азы знания HTML и CSS. Я понимаю что тут надо создать таблицу с ячейками, но как сделать чтобы следующее объявление выходило не внизу, а справа как в таблице не понимаю.
*

Manager87

  • Новичок
  • 4
  • 0 / 0
Здравствуйте,

Помогите пожалуйста с решением
Есть компонент AdsManager 2.7 на Joomla 2.5 мне нужно чтобы в последних объявлениях который выводится как контент на главной, 16 объявлений выводились в 4 колонки и 4 строки.
Почему то, если например 12 объявлений выводить в 4 колонки и 3 строки, пишем $col =8; if ($col == 4), все работает
Код
<h1 class="contentheading"><?php echo JText::_('ADSMANAGER_LAST_ADS');?></h1>
<div class='adsmanager_box_module' align="center">
<table class='adsmanager_inner_box' width="100%">
<tr align="center">
<?php
$nb_cols = $conf->nb_last_cols;
$col =8;
foreach($contents as $row) {
if ($col == 4)
{
echo "<tr>";}
$col++;
Но когда нужно уже 16 объявлений в 4 колонки и 4 строки, пишу $col =12; if ($col == 4). ничего не срабатывает...
Код
<h1 class="contentheading"><?php echo JText::_('ADSMANAGER_LAST_ADS');?></h1>
<div class='adsmanager_box_module' align="center">
<table class='adsmanager_inner_box' width="100%">
<tr align="center">
<?php
$nb_cols = $conf->nb_last_cols;
$col =12;
foreach($contents as $row) {
if ($col == 4)
{
echo "<tr>";}
$col++;
Прошу подсказать знающим!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Слетают категории объявления

Автор guardnext

Ответов: 1
Просмотров: 436
Последний ответ 09.07.2019, 10:10:59
от guardnext
AdsManager - форма добавления - как убрать перенос строки

Автор designerandrey

Ответов: 4
Просмотров: 8973
Последний ответ 25.09.2018, 14:40:11
от designerandrey
AdsManger не удаляет объявления

Автор kozhenevsky

Ответов: 0
Просмотров: 633
Последний ответ 15.02.2018, 12:08:29
от kozhenevsky
Лечим кнопку "Delete from favorites" на странице объявления. AdsManager 3.1.11

Автор Mick_20

Ответов: 1
Просмотров: 955
Последний ответ 24.12.2017, 22:28:14
от vadim73
Как добавить поле id объявления

Автор Den85

Ответов: 9
Просмотров: 982
Последний ответ 11.11.2017, 15:18:48
от Den85