Писать на форуме DIAFAN.CMS могут только зарегистрированные пользователи. Войдите или зарегистрируйтесь.

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

  • 26 января
  • Добрый день! Прошу помощи. Задача такая: в модуле объявлений будет всего две категории, и есть необходимость выводить счетчик количества объявлений из заданной категории в шапке сайта. В файле 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 января
    • Если очень быстро и некошерно, то прям во вьюхе бахните запрос в базу, DB:query_result и отберите количество объявлений по категории
  • 26 января , редакция: 26 января
  • Спасибо, почти так и сделал. Создал новый фаил в 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 января
  • Вот так работает норм
    Код

    <?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 января , редакция: 27 января
    • Код

      <?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;

Новости

Блоги

  • 16.11.2019
  • Достаточно широкой проблемой, которая вызывает множество вопросов, обращений в тех.поддержку и тем на форуме, является обновление, а именно ошибки, с ним связанные. Корни проблем, возникающих при этом, совершенно различны, но наиболее часто причина в кастомизации. И хоть определение это слишком широкое, всё же процедура выявления проблемы вполне стандартизована и проста. Об этом и пойдёт речь в статье.