Noções básicas do módulo

Noções básicas do módulo

MódulosLocalização & nome

Todos os módulos devem ser adicionados nomódulospastaem seu diretório raiz onde nosso CRM está instalado ecada módulo deveter nome de pasta exclusivo e arquivo init com o mesmo nome da pasta do módulonome.

Criandoseu primeiro módulo

Antescomeçar a desenvolver um módulo, certifique-se de que você definiumodo de desenvolvimentopara ver qualquererros e funções/anchos avisos de depreciação.

Para começar e criar seu primeiro módulo, siga opassos abaixo.

·Navegue até nossa instalação de CRM e abra omódulosdiretório

·Crie um novo diretório e nomeie-o após o módulo(e.q.sample_module)

·Criar um novo arquivo PHPcom o mesmo nome que odiretório do móduloNeste caso,sample_module.php,este arquivo irá agir como "Initarquivo"para este módulo.

Neste caso, o módulo já está criado e registradomas não faz nada ainda nem tem qualquer nome ou descrições adicionadas, nósadicionará os metadados do módulo como nome, descrição, URL, autor através de um PHPbloco comentário que funcionará como cabeçalhos do módulo.

Os cabeçalhos do módulo devem ser adicionados apenas no módulo initarquivo.

Agora abra o arquivo sample_module.php que criamos antes eadicione o seguinte comentário na parte superior do arquivo:

O que é?php

/****

* Garante que o arquivo init do módulo não pode seracessado diretamente, apenas dentro do aplicativo.

*/

definido('BASEPATH') ouexit('Nenhum acesso direto ao script');

/*

Nome do módulo: Amostra NossoMódulo CRM

Descrição: Sampledescrição do módulo.

Versão: 2.3.0

Requer pelo menos: 2.3.*

*/

Depois de salvar o arquivo, você pode navegar em seu nosso CRMárea de administração paraConfiguração - Módulose você será capaz de verseu módulo listado.

O comentário agirá como um cabeçalho de arquivo para o módulo, vocêdeve verificar oguia de cabeçalhos de arquivose você quiser obtermais familiar.

Fazercerteza de que você sempre adicionar oNome do módulocabeçalho

Émuito importante paracertifique-se de que o nome da pasta do módulo e o .phpnome do arquivo são os mesmos, caso contrário, seu módulo não será mostrado nolista de módulos

BásicoGanchos

Você precisará implementar alguns ganchos básicos ao criarnovo módulo, comoregistro_activation_hook(),Ver perfil()eVer mais informações:

Se você está familiarizado com o WordPress, provavelmente saberáo trabalho que esses ganchos fazem.

AdicionandoGanchos

Você pode adicionar ganchos em seus arquivos .php do módulo com:

brasileiros() - [$tag,$function_to_add, $priority = 10, $accepted_args = 1);

brasileiros() - [$tag,$function_to_add, $priority = 10, $accepted_args = 1);

brasileiros() - [$tag,$arg = '');

Atualizações e/outiqueta($tag,$value, $additionalParams);

Você pode adicionar seus próprios filtros e ações para que você possa usareles na implementação do seu módulo também, adicionando ações e filtros ajudaráoutros módulos para interagir com seu módulo e estender o módulofuncionalidades.

PrefixoFunções personalizadas

Você devesempre prefixar quaisquer funções personalizadaseclasses para evitar conflitos com nossas funções padrão ou classes ou classes ou classes oucom quaisquer outros módulos.

UsandoInstância Codeigniter em arquivos de módulo

Provavelmente você vai querer usar a estrutura Codeigniterinstância em seu arquivo init do módulo ou quaisquer outros arquivos de módulos que não sãoestendendo as classes base de estrutura.

$ este livro, só funciona dentro de seus controladores,seus modelos, ou seus pontos de vista.

Você pode conseguir isso em qualquer lugar em seus arquivos com oseguinte código:

Primeiro, atribua o objeto CodeIgniter a uma variável:

$CI = &get_instance();

Depois de atribuir o objeto a uma variável, você usaráessa variávelem vez dissoda$ este livro

$Ci=&get_instance();

$CI-1.load- Álbum('module_name/helper_name');

$CI-1.load- =library('module_name/library_name');

Banco de dadosPrefixo

Da versão 2.3.0 Nosso CRM tem a opção de definir personalizadotabelas de banco de dados prefixo.

O prefixo de tabela padrão em Nosso CRM étbl

Você deve sempre usar nossa função personalizadadb_prefix()paraobter o prefixo do banco de dados ao consultar o banco de dados, isso garantirá que emcaso o usuário alterou o prefixo do banco de dados, seu módulo ainda funcionará com onovo prefixo do usuário.

Aqui está um exemplo doRastreamento de metasmóduloinstall.phparquivo.

- O que é?

definido('BASEPATH') ouexit('Nenhum acesso direto ao script');

se(!$CI-1.db- _exists(db_prefix() . "Objetivos")) {

$CI-]db- =query('CREATE TABLE '' .() . "Objetivos' (

'id' int(11) NÃO NULL,

'sujeito' varchar (191) NÃO NULL,

texto 'descrição' texto NÃO NULL,

'start_date' data NÃO NULL,

'end_date' data NÃO NULL,

'goal_type' int(11) NÃO NULL,

'contract_type' int(11) NÃO DEFAULT '0',

'realização' int(11) NÃO NULL,

'notify_when_fail' tinyint(1) NÃO NULLDefault '1',

'notify_when_achieve' tinyint(1) NÃO NULLDefault '1',

'notificado' int(11) NÃO DEFAULT '0',

'staff_id' int(11) NÃO DEFAULT '0'

) Engine=db defaultCHARSET=" . $CI- $CI-1.db-1. ";");

CriarOpções do módulo

Nosso CRM tem tabela no banco de dadosopçõesparaarmazenando várias configurações para uso interno e configurações que são usadas emcaracterísticas. Desenvolvemos funções PHP personalizadas que executarão consultas parabuscar opções do banco de dados.

Nomes de opções são strings, e eles devem ser únicos para queeles não entram em conflito com nosso CRM ou outros módulos.

add_option($name,$value, $autoload)

$name
Obrigatório (string). O nome da opção a ser adicionado, makecerteza que é único e prefixado com E.q. seu nome do módulo.

$valor
O valor da opção (string)

$autoload
(inteiro) 1 ou 0
Se esta opção deve ser carregada automaticamente com todas as outras opções, se você estiverusando a opção muito tempo na visualização, o melhor é carregá-la automaticamente paraevitar várias consultas para obter a opção. O padrão é 1

Tenha em mente queadd_optionfunçãonão criará a opção se o nome da opção já existir na tabela de opções.

get_option($option_name);

Recuperar uma opção do banco de dados,$option_name(string)o nome da sua opção.

($option_name,$new_value);

O que éupdate_optionfunção irá atualizar ovalor da opção, desde a versão 2.3.3, quando você chamase oopção não existe, Nosso CRM criará essa opção.


    • Related Articles

    • Funções comuns do módulo

      register_activation_hook /**** * Gancho de ativação do módulo de registro * @paramstring $modulenome do sistema do módulo * @parammisturado $funçãofunção para o gancho * @return misturado */ register_activation_hook($module, $function) Registrar_hook ...
    • Segurança do módulo

      Então, você criou seu módulo e funciona bem, mas é issoseguro? Você deve garantir que seu módulo está seguro e não é vulnerável a qualquerInjeções SQL são atravessando diretório. Você pode encontrar as melhores práticas para garantir que o seumódulo ...
    • Cabeçalhos de arquivo do módulo

      Cada módulo em nosso CRM consiste em arquivo init que contéma configuração geral do módulo e inclui cabeçalhos contendometa-informação sobre o módulo. Móduloexemplo de cabeçalhos de arquivo init O exemplo a seguir é retirado do padrão Nosso módulo ...
    • Criar itens de menu

      Se você está criando seus módulos personalizados, provavelmente você vai quererpara criar itens de menu que serão mostrados na barra lateral da área de administração ou na área de clientesnavegação. Com o nosso CRM, você pode facilmente conseguir ...
    • Adendo de processamento de dados

      Para que você, como usuário de serviço e controlador de dados(referido como "Controlador" ou "Usuário") pode usar ou continuar a usar a) nossoplataforma de rede social e empresarial; e b) usar nossos serviços auxiliares("Serviços") oferecidos por ...