Îðëà
Îáëàñòè
Êîìïàíèé
Ïîëüçîâàòåëè
Ãàëåðåÿ
Ôèêñèðîâàííûå íîâîñòè
Îðëà
Îòçûâû î ôèðìàõ
Òàðèôû
Ïîëüçîâàòåëè
Îáëàñòè
Áàíêîìàòû
Òîðãîâûå òî÷êè
Äîñêà îáúÿâëåíèé
Êóðñû âàëþò
Ñêèäêè
îðãàíèçàöèè Îðëà
îðãàíèçàöèè îáëàñòè
òîâàðû
ñàéòû
ñàéòû Îðåë
Äàííûå
Ðàçäåëû
Ïîèñê
Ïîèñê çàïðîñû
Ñòàòèñòèêà
Ïîêàçû êàòàëîãà îðãàíèçàöèé
Ñòàòèñòèêà êëèåíòû
Ïîëüçîâàòåëè
Ñàéòû
Óïðàâëåíèå ñàéòîì
Àíêåòà
Àïòåêè
Àôèøà
Àôèøà íîâàÿ
Áàííåðû
Áèçíåñ >
Âèêòîðèíà
Ãîëîñîâàíèå
Ãîñòü íà ñàéòå
Èñòîðèè
Êàëåíäàðü ñîáûòèé
Êàòàëîãè >
Êîíêóðñ êðàñîòû
Êîíêóðñ àóäèî
Êîíñóëüòàöèè
Ìåíþ
Íîâîå íà ñàéòå
Íîâîñòè >
Îðãàíèçàöèè >
Ïðîãðàììà ÒÂ
Ïóáëèêàöèè
Ðàçäåëû ñàéòà
Ðàññûëêà
Ðåñòîðàíû
Ñåêðåò ôèðìû >
Ñåðâèñû >
Ññûëêè
Òåñòû
Ôàéëîâûé ìåíåäæåð
Ôîðóì
Ôîòîãàëåðåÿ
Îáðàòíàÿ ñâÿçü
Íåäâèæèìîñòü
Íîâûé ãîä
Òåêñòû
Ïîëüçîâàòåëè
Þðèäè÷åñêèé ðåéòèíã
Îòçûâû íà òîâàðû
Áàí ïîëüçîâàòåëåé
Æàëîáû
Íîâûå òåñòû
Êîðîíàâèðóñ
Ôàéëîâûé ìåíåäæåð
Èìÿ ôàéëà
BaseBlock.php
Ñîäåðæèìîå
<?php namespace Visitka\Blocks\Dto; use App; /** * Ð�бÑ�трактный клаÑ�Ñ� длÑ� любого базового блока. * Ð’ данной Ñ�иÑ�теме клаÑ�Ñ� Ñ� блоком отвечает за вÑ�е: он умеет Ñ�охранÑ�ть Ñ�ебÑ�, * Ñ�одержит бизнеÑ� логику внутри и так далее. * * Class BaseBlock * @package Visitka\Blocks\Dto */ abstract class BaseBlock { const TYPE_HEADER = 12; const TYPE_MENU = 1; const TYPE_SLIDER = 2; const TYPE_TEXT = 3; const TYPE_LIST = 4; const TYPE_PHOTOS = 5; const TYPE_NEWS = 6; const TYPE_FILES = 7; const TYPE_REVIEWS = 8; const TYPE_REVIEWS_FORM = 9; const TYPE_CONTACTS = 10; const TYPE_VIEWS = 11; /** * @var int Идентификатор блока в интерфейÑ�е Ñ�иÑ�темы */ public $id = 0; /** * @var Template */ public $template; public $position; private $header = 'Без названиÑ�'; private $organization = []; public function __construct(array $organization) { $this->organization = $organization; $this->init(); } /** * Переопределите Ñ�ту функцию, еÑ�ли хотите проинициализировать блок до вывода */ public function init() { } public static function getId() { throw new \DomainException("Идентификатор блока не найден"); } public static function getName() { throw new \DomainException("Ð�азвание блока не найдено"); } /** * Ðта функциÑ� возвращает название блока на латинице, к примеру header or text * @return mixed */ public static function getType() { throw new \DomainException("Тип блока не найден"); } abstract public function loadContent(); /** * Ð’ Ñ�том методе мы загружаем длÑ� блока контент, который берем из маÑ�Ñ�ива. * К примеру, данные в Ñ�тот метод могут быть загружены из POST запроÑ�а при Ñ�охранении данных. * @param array $block */ abstract public function loadContentFromArray(array $block); /** * ФункциÑ� Ñ�охранениÑ� блока в базу данных. * ЕÑ�ли блок новый, то функциÑ� Ñ�оздаÑ�Ñ‚ такой блок в базе данных, иначе обновит текущий блок * * Перед Ñ�охранением блока он будет дополнительно провалидирован, поÑ�тому вызывать метод validateOrFail() не нужно * * @return bool */ public function save() { $this->validateOrFail(); if ($this->getVisitkaBlockId() == 0) { // Ñ�то новый блок, поÑ�тому его нужно Ñ�оздать $command = App::$command ->createCommand(' INSERT INTO `firma_visitka_blocks` (`firma_id`, `block_id`, `header`, `template_id`, `position`) VALUES(:firma_id, :block_id, :header, :template_id, :position) ') ->bindValues([ ':firma_id' => $this->getOrganizationId(), ':block_id' => static::getId(), ':header' => $this->getHeader(), ':template_id' => $this->getTemplate()->getId(), ':position' => $this->getPosition() ]); $command->query(); $this->setVisitkaBlockId($command->lastInsertId()); } else { App::$command ->createCommand(' UPDATE `firma_visitka_blocks` SET `header` = :header, `template_id` = :template_id WHERE id = :id ') ->bindValues([ ':header' => $this->getHeader(), ':template_id' => $this->getTemplate()->getId(), ':id' => $this->getVisitkaBlockId() ]) ->query(); } return true; } public function validateOrFail() { $header = $this->getHeader(); if (empty($header)) { throw new \DomainException("Заполните название блока"); } if ($this->template instanceof Template == false) { throw new \DomainException("Укажите шаблон вывода блока"); } } /** * ЕÑ�ли функциÑ� возвращает true, то такой блок на Ñ�транице может быть только один * @return bool */ public function isSingle() { return false; } public function setVisitkaBlockId($id) { $this->id = $id; return $this; } public function getVisitkaBlockId() { return $this->id; } public function setHeader($header) { $this->header = $header; return $this; } public function getHeader() { return $this->header; } public function setOrganization(array $organization) { $this->organization = $organization; return $this; } public function getOrganization() { return $this->organization; } public function getOrganizationId() { return (int) $this->organization['id']; } public function setPosition($position) { $this->position = (int) $position; return $this; } public function getPosition() { return $this->position; } public function setTemplate(Template $template) { $this->template = $template; return $this; } public function getTemplate() { return $this->template; } public function toArray() { return [ 'id' => static::getId(), 'visitka_block_id' => $this->getVisitkaBlockId(), 'is_single' => $this->isSingle(), 'header' => $this->getHeader(), 'name' => static::getName(), 'type' => static::getType(), 'position' => $this->getPosition(), 'template_id' => $this->getTemplate() == null ? 0 : $this->getTemplate()->getId() ]; } }
/visitka/src/Blocks/Dto/
Èìÿ
Äàòà
Ðàçìåð
..
2020-03-10
Contracts
2020-03-10
Settings
2020-03-10
BaseBlock.php
2020-03-03
7 êá.
ContactsBlock.php
2020-02-26
471 áàéò
FileBlock.php
2020-03-10
509 áàéò
HeaderBlock.php
2020-02-26
1 êá.
ListBlock.php
2020-03-10
559 áàéò
MenuBlock.php
2020-03-10
470 áàéò
NewsBlock.php
2020-02-26
1 êá.
PhotoBlock.php
2020-03-10
524 áàéò
ReviewsBlock.php
2020-03-10
1 êá.
ReviewsFormBlock.php
2020-02-26
491 áàéò
SliderBlock.php
2020-03-10
745 áàéò
Template.php
2020-02-26
637 áàéò
TextBlock.php
2020-03-10
2 êá.
ViewsBlock.php
2020-02-26
487 áàéò
/visitka/src/Blocks/Dto
Çàãðóçèòü ôàéëû
Ôàéë 1
Ôàéë 2
Ôàéë 3