Listings * @copyright Tamaranga */ class ListingsPage extends ProfilePage { public function init() { parent::init(); $this->setTitle(_t('@users', 'User Profile') . ' / ' . _t('listings', 'User Listings')); $this->setKey('user.profile.listings'); } public function blocks() { $this->setContentBlock(ProfileItemsListBlock::class, function (ProfileItemsListBlock $block) { $block->emptyText = _t('listings', 'The list of user listings is empty'); $block->queryPlaceholder = _t('listings', 'Search listings...'); $block->filter = [ 'user_id' => $this->userId, 'company_id' => 0, 'is_publicated' => 1, 'status' => Listings::STATUS_PUBLICATED, ]; }); parent::blocks(); } public function data() { $data = parent::data(); if (! is_array($data)) { return $data; } $this->getList()->loadItems(); return $data; } /** * Get list block * @return ProfileItemsListBlock|mixed */ public function getList() { return $this->getContentBlock(); } public function seo() { $this->seo->with([ 'page' => $this->getList()->page, 'total' => $this->getList()->total, ]); parent::seo(); } public function seoSettings() { $this->seo->list(); parent::seoSettings(); } }