Вопрос к знатокам webasyst

Доброго всем времени суток!

Подскажите, правильно ли делаю.

Хочу на главной странице приложения Shop вывести n-ое количество последних фотоальбомов из приложения Photos.

Нашел $wa->photos->childAlbums(), посмотрел параметры, этот метод не принимает параметр отвечающий за лимит, поэтому этот метод не совсем подходит, т.к. он выводит все альбомы.

Начинаю, изучать webasyst, нахожу /wa-apps/photos/lib/classes/photosViewHelper.class.php в него добавляю простой метод который будет передавать в БД нужный параметр $limit. 

/wa-apps/photos/lib/classes/photosViewHelper.class.php    
public function getAlbums($limit=8){
        $album_model = new photosAlbumModel();
        $albums = $album_model->getAlbumsLimit($limit);
        return $albums;
    }

Теперь в самой модельке пытался найти подходящий метод и опять фиаско, не нашёл :) 

/wa-apps/photos/lib/models/photosAlbum.model.php   
 public function getAlbumsLimit($limit=8){
       $sql = "SELECT * FROM ".$this->table." ORDER BY sort LIMIT 0, {$limit}";
       $albums = $this->query($sql)->fetchAll();
       return  $albums;
    }

Теперь в вьюхе главной страницы Shop получаю желаемое количество фотоальбомов {$albums = $wa->photos->getAlbums(4)}

Теперь вопрос :) насколько правильно всё сделал? При обновлении webasyst 2 файла photosViewHelper.class.php и photosAlbum.model.php затрутся мои изменения? Если можно было проще получить нужное количество фотоальбомов как ? :) Спасибо за уделенное время!

1 ответ

  • 1

    Посмотрев наискосок, чтобы избавиться от зависимости от изменения штатных классов наверное можно использовать 

    {$albums = array_slice($wa->photos->albums(false, false), 0, N)}

    где N - требуемое количество альбомов

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите