Pessoal, me desculpem pela minha ultima mensagem incompleta. Ainda estou me
acostumando com esse novo cliente de email... :S


Olá Vinicius.

Eu não conheço em detalhes a sua necessidade, por isso não tenho como entrar
a fundo na parte lógica, mas msm assim vou arriscar dar o meu pitaco ;)

Vc tem o "domínio pai" que seria www.imovelpro.com.br. Nele configura os
parkeds domains, tais como http://www.imoveisemitapema.com.br/,
<http://www.imoveisemitapema.com.br/st3/?urlcode=64EbqYjgZ11bLgdfbx>
http://www.niltonborges.com.br/,
<http://www.niltonborges.com.br/st1/?urlcode=64EbqYHpgZ11bqgdfbq>
http://www.jrceara.com.br/.<http://www.jrceara.com.br/st1/?urlcode=64EbwYxgZ11bxgdfbx>

Dessa forma, qualquer um desses endereços q vc digitar, será redirecionado
para imovelpro.com.br.

Lá no CI, no config.php, altera o valor da variável $config['base_url'] para
$_SERVER['SERVER_NAME']. Dessa forma, o valor de base_url será sempre aquele
endereço que vc digitou.

Crie uma extensão da Classe Loader do CI. Nela vc pode criar uma nova função
onde ele selecionaria a view conforme o base_url.

<?php
class MY_Loader extends CI_Loader {

function __construct(){
parent::CI_Loader();
}
 function tview($view, $vars = array(), $return = FALSE)
{
$CI=& get_instance();
                /****
                 * Crie aqui uma conexão com o banco de dados que procure
pelas informações do cliente usando o base_url com chave de
                 * pesquisa, e retorne o nome do diretório onde o
tema escolhido pelo cliente está guardado.
                 * Suponhamos que esse resultado seja armazenado em
$diretorio.
                 *****/
return $this->_ci_load(array('_ci_view' => $diretorio.'/'.$view, '_ci_vars'
=> $this->_ci_object_to_array($vars), '_ci_return' => $return));
}
}

?>

Nos controllers, em vez de chamar as views utilizanto
$this->load->view('nomedaview'), vc vai utilizar
$this->load->tview('nomedaview').

Automaticamente, ele irá buscar a view no diretorio do tema que foi
escolhido. Acredito que com isso resolveremos o problema da aparencia dos
sites.

Agora, para que um site não pegue os dados dos outros, vc poderia incluir da
SQL um cláusula WHERE que filtraria os dados, de maneira que somente os
registros que obederem a essa instrução sejam manuseados, ou então, tentar
fazer uma extensão na Classe Database, criando um novo metodo, algo como
tquery() semelhante ao que fizemos acima.

Bom, essa é apenas uma dica. Não a coloquei em prática pra ter certeza que
funciona 100%. Tenho algumas duvidas se esses procedimentos iriam afetar
drásticamente o desempenho do sistema ou mesmo a segurança de dados. Se
alguém tiver alguma outra idéia ou sugestão, ficaria feliz que fosse exposto
também.

Mas de qq forma espero ter dado pelo menos uma luz.

Abração a todos.

Mike



2008/10/29 Vinicius Cruz <[EMAIL PROTECTED]>

> Então, galera. Ainda não tenho pronto o roteamento. Esse sistema de
> roteamento que você fala, Mike, é pra que cada domínio acesse seus
> respectivos dados?
>
> Vou deixar um exemplo aqui de um sistema semelhante.
>
> Tem a empresa: http://www.imovelpro.com.br/
>
> E alguns clientes que usam o sistema com domínio próprio:
> http://www.imoveisemitapema.com.br/st3/?urlcode=64EbqYjgZ11bLgdfbx
> http://www.niltonborges.com.br/st1/?urlcode=64EbqYHpgZ11bqgdfbq
> http://www.jrceara.com.br/st1/?urlcode=64EbwYxgZ11bxgdfbx
>
>
> Vinicius
>
>
> 2008/10/29 Mike Maciel <[EMAIL PROTECTED]>
>
> Acredito que utilizar Parked Domains do WHM/CPanel seria a melhor solução.
>>
>> Aí, no CI vc faz todo o sistema de roteamento (que vc já deve ter
>> pronto,certo?)
>>
>> []'s
>>
>> Mike
>>
>> 2008/10/29 Rafael V. de Oliveira <[EMAIL PROTECTED]>
>>
>>>  O que dá pra fazer, não sei se é o caso, é deixar o sistema instalado
>>> no domínio da sua empresa, mas fazer a conexão com o banco instalado no
>>> domínio do cliente. Então todas as alterações seriam refletidas no site do
>>> cliente.
>>>
>>> No site do cliente vc deixa apenas o básico para funcionar.
>>>
>>>
>>>
>>> Talvez seria a melhor opção. Tudo bem que pensei meio relaxado :P
>>>
>>>
>>>
>>> Rafael
>>>
>>>
>>>
>>> *De:* [EMAIL PROTECTED] [mailto:
>>> [EMAIL PROTECTED] *Em nome de *Vinicius Cruz
>>> *Enviada em:* quarta-feira, 29 de outubro de 2008 19:22
>>> *Para:* CodeIgniter Brasil
>>> *Assunto:* [CodeIgniter] [OFF] Solução
>>>
>>>
>>>
>>> Galera,
>>>
>>>
>>>
>>> mais um off-topic.. ^^ Como essa é a lista mais ativa que participo, vou
>>> ver se vocês me ajudam numa direção.
>>>
>>>
>>>
>>> Aqui no trampo, estamos com um novo projeto. O site da empresa, tá com o
>>> sistema pronto. Blz. Agora, em breve, lançaremos um novo produto. O cliente
>>> assina o servico, para ter o site dele personalizável, com o sistema da
>>> empresa.
>>>
>>>
>>>
>>> www.o_site_do_cliente.com.br
>>>
>>>
>>>
>>> O layout personalizável tá blz. Já consegui pensar na solução. Minha
>>> dúvida é: Qual a melhor maneira (ou quais as formas) de oferecer ao cliente,
>>> acessando o dominio dele, o sistema da empresa em seu site? Deu pra
>>> entender? O cara assina o serviço, e tem o sistema/site "instalado" em seu
>>> dominio, sem necessidade de eu ter que upar todos os arquivos e banco de
>>> dados pra ele, mas ele utilizar o sistema da empresa.
>>>
>>>
>>>
>>> Dei uma pesquisada sobre Webservice, mas acho que não seria o caso..
>>> Alguma dica?
>>>
>>>
>>>
>>> FaloU!
>>>
>>> Vinicius
>>>
>>> _______________________________________________
>>> Lista mailing list
>>> [email protected]
>>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>>
>>>
>>
>> _______________________________________________
>> Lista mailing list
>> [email protected]
>> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>>
>>
>
> _______________________________________________
> Lista mailing list
> [email protected]
> http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br
>
>
_______________________________________________
Lista mailing list
[email protected]
http://codeigniter.com.br/mailman/listinfo/lista_codeigniter.com.br

Responder a