Вход • Регистрация

Вывод счетчика количества объявлений в категории

  • 26 января 2020 г.
  • Добрый день! Прошу помощи. Задача такая: в модуле объявлений будет всего две категории, и есть необходимость выводить счетчик количества объявлений из заданной категории в шапке сайта. В файле ab.view.first_page.php есть такой код

    Код
    //ссылка на все объявления в категории
    if ($cat["link_all"])
    {
    echo '<div class="show_all"><a href="'.BASE_PATH_HREF.$cat["link_all"].'">'
    . $this->diafan->_('Посмотреть все объявления в категории «%s»', true, $cat["name"])
    . ' ('.$cat["count"].')</a></div>';
    }
    echo '</div>';

    тут как раз выводится после названия категории счетчик количества объявлений, но как сделать вывод этого параметра отдельно для заданной категории?

    Спасибо!
    • 26 января 2020 г.
    • Если очень быстро и некошерно, то прям во вьюхе бахните запрос в базу, DB:query_result и отберите количество объявлений по категории
  • 26 января 2020 г. , редакция: 26 января 2020 г.
  • Спасибо, почти так и сделал. Создал новый фаил в functions, чтоб можно было впихнуть в шаблон и в нем такой код
    Код

    <?php
    if (! defined('DIAFAN'))
    {
    $path = __FILE__;
    while(! file_exists($path.'/includes/404.php'))
    {
    $parent = dirname($path);
    if($parent == $path) exit;
    $path = $parent;
    }
    include $path.'/includes/404.php';
    }

    $rows = DB::query_fetch_all("SELECT count(*) FROM diafan_ab_category");
    $text = '';
    foreach ($rows as $row)
    {
    $text .= $row['count(*)'].'<br>';
    }
    echo $text;


    не знаю насколько это грамотно, сейчас он мне выводит кол-во всех записей из таблицы diafan_ab_category
  • 27 января 2020 г.
  • Вот так работает норм
    Код

    <?php
    if (! defined('DIAFAN'))
    {
    $path = __FILE__;
    while(! file_exists($path.'/includes/404.php'))
    {
    $parent = dirname($path);
    if($parent == $path) exit;
    $path = $parent;
    }
    include $path.'/includes/404.php';
    }

    $rows = DB::query_fetch_all("SELECT count(*) FROM diafan_ab WHERE cat_id = 3");
    $text = '';
    foreach ($rows as $row)
    {
    $text .= $row['count(*)'].'<br>';
    }
    echo $text;


    Но если поменять Query_fetch_all на Query_result, то ничего не выводит.
    P.S. я не программер, делаю все по справочникам))
    • 27 января 2020 г. , редакция: 27 января 2020 г.
    • Код

      <?php
      if (! defined('DIAFAN'))
      {
      $path = __FILE__;
      while(! file_exists($path.'/includes/404.php'))
      {
      $parent = dirname($path);
      if($parent == $path) exit;
      $path = $parent;
      }
      include $path.'/includes/404.php';
      }

      $text = DB::query_result("SELECT count(*) FROM {ab} WHERE cat_id = 3");

      echo $text;

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум