jhorlima / parametrizacao
Modulo Parametrização para o MocaBonita
Installs: 92
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Type:wordpress-framework-plugin
Requires
- jhorlima/wp-mocabonita: >=3.3.0
README
#Parametrizacao - MocaBonita
Modulo Parametrização para o MocaBonita
$ composer require jhorlima/parametrizacao
Para integrar o modulo ao plugin, basta adicionar uma controller para a Parametrizacao e depois obter a view e método de salvar.
<?php use MocaBonita\controller\MbController; use MocaBonita\tools\MbException; use MocaBonita\tools\MbRequest; use MocaBonita\tools\MbResponse; use Parametrizacao\model\Parametrizacao; class ParametrizacaoController extends MbController { /** * Lista de parametros que essa controller pode gerencias * * @var string[] */ protected $parametros = [ 'nome_padrao', 'quantidade_usuarios', 'lista_nomes', ]; /** * @inheritdoc */ public function indexAction(MbRequest $mbRequest, MbResponse $mbResponse) { return Parametrizacao::getMbView($this->parametros); } /** * Action para salvar parametro * * @param MbRequest $mbRequest * @param MbResponse $mbResponse * * @return MbView * */ public function salvarAction(MbRequest $mbRequest, MbResponse $mbResponse) { try { Parametrizacao::salvarParametro($mbRequest->input()); $mbResponse->adminNotice('Parametro atualizado com sucesso!'); } catch (\Exception $e) { MbException::registerError($e); } finally { $mbView = $this->indexAction($mbRequest, $mbResponse); return $mbView; } } }
Cada parametro pode ser obtido através do método
<?php use Parametrizacao\model\Parametrizacao; Parametrizacao::getParametro('nome_padrao'); //Obter parametro nome Parametrizacao::getParametro('quantidade_usuarios', 10); // Obter parametro quantidade_usuarios, caso não exista, retornar 10 Parametrizacao::getParametro('lista_nomes', [], true); // Obter parametro lista_nomes, caso não exista, retornar um array vázio e depois converter-lo em JSON
Caso seja necessário, um parametro também pode ser criado pelo sistema.
<?php use Parametrizacao\model\Parametrizacao; Parametrizacao::salvarParametro([ 'nome' => 'nome_padrao', 'valor' => 'Jhordan Lima', ]); //Salvar parametro nome Parametrizacao::salvarParametro([ 'nome' => 'quantidade_usuarios', 'valor' => 10, ]); //Salvar parametro quantidade_usuarios Parametrizacao::salvarParametro([ 'nome' => 'lista_nomes', 'valor' => ['Jhordan Lima', 'Alfredo Costa', 'Antonio Iago'], ]); //Salvar parametro lista_nomes a partir de um Array Parametrizacao::salvarParametro([ 'nome' => 'lista_nomes', 'valor' => "['Jhordan Lima', 'Alfredo Costa', 'Antonio Iago']", ]); //Salvar parametro lista_nomes a partir de um Json Parametrizacao::salvarParametro([ 'nome' => 'lista_nomes', 'valor' => "array\nJhordan Lima\nAlfredo Costa\nAntonio Iago", ]); //Salvar parametro lista_nomes a partir de um textarea com uma lista começando por array.
*Obs: É possível também salvar um parametro como Array, basta envia-lo como JSON ou começar o texto com array seguido de um quebra de linha. É possível definir também um outro delimitador para o array, basta criar um parametro para o atributo "array".