Jump to content


Photo
- - - - -

Вставить код после N новости


Best Answer CB9TOIIIA , 14 July 2015 - 11:45

Рабочий код  :)

 public function columns($layoutName, $objects)
    {
       static $itemCount = 0;

        $cols_num   = $this->_params->get('template.' . $layoutName . '_cols', 1);
        $cols_order = $this->_params->get('template.' . $layoutName . '_order', 1);

        $vars = array(
            'cols_num'   => $cols_num,
            'cols_order' => $cols_order
        );

        // init vars
        $i            = 0;
        $columns      = array();
        $column       = 0;
        $row          = 0;
        $countObjects = count($objects);
        $rows         = ceil($countObjects / $cols_num);

        if ($countObjects > 0) {
            foreach ($objects as $object) {

                if ($cols_order) {
                    // order down
                    if ($row >= $rows) {
                        $column++;
                        $row  = 0;
                        $rows = ceil(($countObjects - $i) / ($cols_num - $column));
                    }
                    $row++;
                    $i++;
                } else {
                    // order across
                    $column = $i++ % $cols_num;
                    $column = $i;
                }

                if (!isset($columns[$column])) {
                    $columns[$column] = '';
                }

                $itemCount++;
                if ($itemCount == 2) {
                    $columns[$column] .= 'Реклама';
                }

                if ($object instanceof Item) {
                    $columns[$column] .= $this->renderItem($object);
                } else {
                    $columns[$column] .= $this->render($layoutName, $object, $vars);
                }
            }

            return $this->render($layoutName . '_columns', $columns, $vars);
        }

        return false;
    }
Go to the full post


  • This topic is locked This topic is locked
14 replies to this topic

#11 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 13 July 2015 - 20:09

Может так?
static $itemCount = 0;

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#12 CB9TOIIIA

CB9TOIIIA
  • Topic Starter
  • Administrators
  • User rate: 230.6
  • posts: 3680
  • topics: 235

Posted 14 July 2015 - 11:45   Best Answer

Рабочий код  :)

 public function columns($layoutName, $objects)
    {
       static $itemCount = 0;

        $cols_num   = $this->_params->get('template.' . $layoutName . '_cols', 1);
        $cols_order = $this->_params->get('template.' . $layoutName . '_order', 1);

        $vars = array(
            'cols_num'   => $cols_num,
            'cols_order' => $cols_order
        );

        // init vars
        $i            = 0;
        $columns      = array();
        $column       = 0;
        $row          = 0;
        $countObjects = count($objects);
        $rows         = ceil($countObjects / $cols_num);

        if ($countObjects > 0) {
            foreach ($objects as $object) {

                if ($cols_order) {
                    // order down
                    if ($row >= $rows) {
                        $column++;
                        $row  = 0;
                        $rows = ceil(($countObjects - $i) / ($cols_num - $column));
                    }
                    $row++;
                    $i++;
                } else {
                    // order across
                    $column = $i++ % $cols_num;
                    $column = $i;
                }

                if (!isset($columns[$column])) {
                    $columns[$column] = '';
                }

                $itemCount++;
                if ($itemCount == 2) {
                    $columns[$column] .= 'Реклама';
                }

                if ($object instanceof Item) {
                    $columns[$column] .= $this->renderItem($object);
                } else {
                    $columns[$column] .= $this->render($layoutName, $object, $vars);
                }
            }

            return $this->render($layoutName . '_columns', $columns, $vars);
        }

        return false;
    }

Edited by CB9TOIIIA, 14 July 2015 - 12:58.

  • 0

#13 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 14 July 2015 - 12:03

Е мае... у меня же работает :) Могу я увидеть ваш сайт? думаю у нас настройки не сходятся.

 

PS Статик - был моей опечаткой.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#14 CB9TOIIIA

CB9TOIIIA
  • Topic Starter
  • Administrators
  • User rate: 230.6
  • posts: 3680
  • topics: 235

Posted 14 July 2015 - 12:09

Сорри :) проверил еще раз и все отключил лишнее в кеше.

Работает! :) отлично.

 

Вопрос... работает и со static и без него. Как лучше оставить?


  • 0

#15 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 14 July 2015 - 12:41

Отлично!

 

Вопрос... работает и со static и без него. Как лучше оставить?
 

Лучше оставить статик, это обеспечит независимость от настроек и внутренних счетчиков.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!