web-dev-qa-db-pt.com

Exiba o conteúdo e o título do artigo Joomla usando PHP

Eu tenho um componente e um módulo criados por uma empresa externa, eles têm um código codificado no componente - eu quero alterá-lo para que o conteúdo seja chamado pelo Gerenciador de Artigos do Joomla.

O componente usa códigos individuais (chamados por '+ nugget.code +') que eu quero corresponder a um artigo do Joomla, com o mesmo nome.

Por exemplo, se o código (dentro do componente) for AB1, desejo que ele carregue um artigo com o título 'AB1'.

O que eu precisaria escrever para incluir o conteúdo do Joomla em um componente externo?

Eu tentei:

$article_id = +nugget.code +  ": " +nugget.name + ;
$article =& JTable::getInstance("content");
$article->load($article_id);

var $heading = $('<h5>'. $article->get("title").'</h5>');
$text.append($heading);

Mas isso não está funcionando.

O componente externo chama "+ nugget.code +" - (que neste exemplo, digamos que o valor seja "REI1")

O componente externo também chama "+ nugget.name +" - (que neste exemplo, digamos que o valor seja "Artigo de Teste")

Portanto, '+ nugget.code + ":" + nugget.name +' seria 'REI1: Artigo de Teste'

O que eu quero é que, se houver um artigo do Joomla chamado 'REI1: Artigo de Teste', ele precise ser mostrado.

3
RustyJoomla

Não conheço nenhum código direto que o ajude a obter artigos com base em título do artigo. Mas posso ver uma maneira de fazer isso é a seguinte:

Verifique o modelo com_content para a função getListQuery neste caminho: /administrator/components/com_content/models/articles.php Essa função é usada para consultar artigos do banco de dados, com base em filtros e consultas de pesquisa passadas no back-end.

Você pode herdar essa classe para usar essa função ou assumir diretamente a lógica da mesma. Para obter o resultado da pesquisa, você precisa armazenar o título do artigo da seguinte maneira:

$this->setState('filter.search', "+nugget.code +": "+nugget.name+");

OR

$this->setState('filter.search', $articleTitle);

Onde $articleTitle Contém o valor do título do seu artigo.

A melhor maneira é usar a lógica dessa função e remover as consultas de filtro indesejadas e as condições IF da lógica principal.

1
SD.