Методы модели

 scopeCategoryInfo()

Метод получения информации по разделу в котором находится материал (deprecated method)

 

    public function scopeCategoryInfo()
    {
        return DB::table(LarrockFeed::getConfig()->table)
            ->leftJoin(LarrockCategory::getConfig()->table, LarrockFeed::getConfig()->table. '.category', '=', LarrockCategory::getConfig()->table. '.id')
            ->get();
    }

 get_category()

Метод получения раздела материала

    public function get_category()
    {
        return $this->hasOne(LarrockCategory::getModelName(), 'id', 'category');
    }

 get_categoryActive()

Метод получения раздела (опубликованного) материала

    public function get_categoryActive()
    {
        return $this->hasOne(LarrockCategory::getModelName(), 'id', 'category')->whereActive('1');
    }

 getFullUrlAttribute()

Метод получения url материала и вывод в атрибуте full_url

    public function getFullUrlAttribute()
    {
        return Cache::remember('url_feed'. $this->id, 1440, function() {
            $url = '/feed';
            foreach ($this->get_category()->first()->parent_tree as $category){
                $url .= '/'. $category->url;
            }
            $url .= '/'. $this->url;
            return $url;
        });
    }

getShortRenderAttribute()

Замена тегов плагинов на их данные и вывод в атрибуте short_render

    public function getShortRenderAttribute()
    {
        $cache_key = 'ShortRender'. $this->table.'-'. $this->id;
        if(\Auth::check()){
            $cache_key .= '-'. \Auth::user()->role->first()->level;
        }

        return \Cache::remember($cache_key, 1440, function(){
            $renderPlugins = new RenderPlugins($this->short, $this);
            $render = $renderPlugins->renderBlocks()->renderImageGallery()->renderFilesGallery();
            return $render->rendered_html;
        });
    }

getDescriptionRenderAttribute()

Замена тегов плагинов на их данные и вывод в атрибуте description_render

    public function getDescriptionRenderAttribute()
    {
        $cache_key = 'DescriptionRender'. $this->table.'-'. $this->id;
        if(\Auth::check()){
            $cache_key .= '-'. \Auth::user()->role->first()->level;
        }

        return \Cache::remember($cache_key, 1440, function(){
            $renderPlugins = new RenderPlugins($this->description, $this);
            $render = $renderPlugins->renderBlocks()->renderImageGallery()->renderFilesGallery();
            return $render->rendered_html;
        });
    }

Так же в модели доступны все методы HasMediaTrait и SearchableTrait, GetSeo, GetFilesAndImages.

Другие материалы по теме:

Плагин создания анонсов (addAnonsToModule)

Для материалов в компоненте LarrockFeed можно автоматически создавать анонсы в других разделах LarrockFeed. Например, для создания анонсов новостей в отдельной ленте.

Роуты (route)

Роуты компонента по-умолчанию.

Вывод лент через AddFeedAnons middleware

Middleware для вывода лент новостей (по-умолчанию для вывода анонсов новостей).

Вывод лент через AddSeofish middleware

Middleware для вывода лент новостей (по-умолчанию для вывода сео-текстов).

Переопределение шаблонов фронта LarrockFeed

Изменение используемых компонентом шаблонов (замена на свои).

Загрузка...