Pegar a SEÇÃO do Joomla na Index

Forum destinado aos programadores que pretendem utilizar o framework do Joomla! 1.5 para fazer suas próprias extensões
danilodinelli
Novato
Mensagens: 18
Registrado em: 12 Dez 2008, 10:04

Pegar a SEÇÃO do Joomla na Index

Mensagem por danilodinelli »

Seguinte pessoal to com dificuldade na montagem de meu layout no Joomla.

Meu problema é o seguinte eu montei meu site da seguinte maneira, dividi ele em 12 seções diferentes e cada seção dessa eu fiz um CSS diferente, então eu fui no index.php do meu template e crieei um controle para chamar esses CSS quando necessário, só que fiz esse controle com base no $_GET (itemId) apenas para teste, porque a minha idéia era fazer SWITCH onde eu pegasse o id da seção do joomla que estou e assim chamar o CSS que eu quero.

Modo como pretendo fazer
switch($section)
{
default:
$header = "includes/header.php";
$rodape = "includes/rodape.php";
break;
case 13:
$header = "includes/header.php";
$rodape = "includes/rodape.php";
$css = "<link rel=\"stylesheet\" href=\"$this->baseurl/templates/ucb/css/forma_ingresso.css\" type=\"text/css\" />";
$conteudo = "<jdoc:include type=\"component\" />";
break;
}


Minha dúvida é como eu pego o ID da seção que estou através da minha index.php do template ou como eu posso passar via GET o id da seção que pego em outro arquivo.

ficaria assim se fosse via GET
index.php?option=com_content&view=article&id=101&Itemid=84&section=13


Valeu galera....
Editado pela última vez por danilodinelli em 22 Jun 2009, 11:07, em um total de 1 vez.
Avatar do usuário
wmfelipe
Joomleiro
Mensagens: 407
Registrado em: 02 Fev 2009, 13:40
Contato:

Re: Pegar a SESSÃO do Joomla na Index

Mensagem por wmfelipe »

existe uma diferença entre sessão e seção...

veja se isso ajuda...
http://api.joomla.org/Joomla-Framework/ ... quest.html

abraço
danilodinelli
Novato
Mensagens: 18
Registrado em: 12 Dez 2008, 10:04

Re: Pegar a SEÇÃO do Joomla na Index

Mensagem por danilodinelli »

Tem razão existe essa diferença eu coloquei errado mais a SEÇÃO que me refiro é a Seção do próprio Joomla seria essa que gostaria de pegar na index.php.

já andei lendo sobre o JRequest mais quais do metodos utilizar para se pegar a seção?
Avatar do usuário
wmfelipe
Joomleiro
Mensagens: 407
Registrado em: 02 Fev 2009, 13:40
Contato:

Re: Pegar a SEÇÃO do Joomla na Index

Mensagem por wmfelipe »

leu mesmo?

Existem métodos pra pegar todos os tipos de dados (string, inteiro, boolean...)

por exemplo:
teste.php?param1=teste
pra pegar o valor de param1 eu usaria o getString()...

logo, se for um inteiro, nem preciso responder né....
danilodinelli
Novato
Mensagens: 18
Registrado em: 12 Dez 2008, 10:04

Re: Pegar a SEÇÃO do Joomla na Index

Mensagem por danilodinelli »

Felipe, eu sei que existe metódos pra pegar todos os tipos de dados inclusive eu já consigo pegar o id da section, mais talvez eu não tenha explicado direito vamos lá.

quando abrimos nosso site feito em joomla ele carrega a index.php normalmente nesse momento estamos na HOME do site, agora quando clicamos em algum link que criamos usando os menus ele monta uma url em cima da própria index chamando alguns parametros são eles:

option
view
id (id do artigo)
itemID (id referencia do link de menu com o artigo)

abaixo coloco um exemplo da URL.
index.php?option=com_content&view=article&id=101&Itemid=84

A minha dúvida está relacionada a forma de como eu vou pegar o id da seção do joomla na index.php

ou

como eu posso passar na URL que é gerado pelo joomla o id da section visto que eu consigo pegar o id da seção do joomla no arquivo default.php que gera o conteúdo.

Porque estou citando duas formas, porque na primeira eu não consigo pega o id da seção na index.php se existir uma forma eu mato um problema rapidamente.
Agora na segunda opção eu consigo pegar no arquivo default.php porém não sei como posso passar para que ele monte a URL com mais um parametro.
Nesse formato pra da certo eu precisaria ter a URL passando o id da seção e ai na index.php eu pegaria via GET.

Exemplo: index.php?option=com_content&view=article&id=101&Itemid=84&section=13

é meio confuso pra explicar mais acho que agora eu expliquei melhor.

Qual objetivo
Montar um controle na index de chamadas de CSS e outras funcionalidade que utilizo tendo como parametros os ids das seções que crio no joomla.

Exemplo
switch($section)
{
default:
$header = "includes/header.php";
$rodape = "includes/rodape.php";
break;
case 13:
$header = "includes/header.php";
$rodape = "includes/rodape.php";
$css = "<link rel=\"stylesheet\" href=\"$this->baseurl/templates/ucb/css/forma_ingresso.css\" type=\"text/css\" />";
$conteudo = "<jdoc:include type=\"component\" />";
break;

}
Avatar do usuário
wmfelipe
Joomleiro
Mensagens: 407
Registrado em: 02 Fev 2009, 13:40
Contato:

Re: Pegar a SEÇÃO do Joomla na Index

Mensagem por wmfelipe »

bem... até daria pra ti fazer com que o joomla retornasse o id da section diretamente na URL, mas isso não seria a melhor escolha do meu ponto de vista...

no view article do componente content, é criado um objeto $article para o template e esse objeto article possui os seguintes atributos:

Código: Selecionar todos

object(stdClass)#170 (47) {
  ["id"]=>
  string(2) "65"
  ["title"]=>
  string(14) "Notícia teste"
  ["alias"]=>
  string(13) "noticia-teste"
  ["title_alias"]=>
  string(0) ""
  ["introtext"]=>
  string(994) "Bla bla bla bla bla bla bla bla"
  ["fulltext"]=>
  string(0) ""
  ["state"]=>
  string(1) "1"
  ["sectionid"]=>
  string(1) "5"
  ["mask"]=>
  string(1) "0"
  ["catid"]=>
  string(2) "34"
  ["created"]=>
  string(19) "2009-03-20 12:06:20"
  ["created_by"]=>
  string(2) "62"

etc, etc, etc...
veja ali o que tu precisa, no próprio objeto ;):
["sectionid"]=>
string(1) "5"


lá no teu template é só tu acessar esse atributo da forma clássica:

Código: Selecionar todos

$this->article->sectionid
:D
abraço e qualquer coisa grita
Responder