Remover ID do artigo do Joomla 3 url


9

Estou tentando remover o ID do artigo de uma URL do Joomla 3. Eu procurei e a resposta está em

components\com_content\router.php

mudar 0para 1em$advanced = $params->get('sef_advanced_link', 1);

nas linhas 38 e 290

e também comentou

if (strpos($segments[0], ':') === false) {
    $vars['view'] = 'article';
    $vars['id'] = (int)$segments[0];
    return $vars;
}

Considero que funciona bem no Joomla 2.5, pois todos os comentários mencionam isso.

Mas ele não faz o trabalho para mim no meu site Joomla 3.3.

Como conseguir isso sem criar itens de menu para cada artigo?


Você tem algum erro?
Dmitry Rekun

Basta criar um link de menu para o seu artigo.
Saibbyweb 23/05

Lodder - Sim, recebo o link que desejo, mas tenho a página de erro 404 em vez do meu artigo.
gag

Saibbyweb - Eu tenho mais de 100 artigos e o número é de até 500, então não acho que seja uma boa ideia criar um menu para todos esses itens.
gag

Se a extensão K2 é uma opção para você, você pode conseguir isso com muita facilidade. O K2 possui opções para roteamento avançado, com as opções necessárias. Você pode importar seus artigos existentes para o K2. Verifique meu blog K2 e os links readmore gerados. Outra solução é usar algo como sh404sef ou youwait para este indiegogo.com/projects/advance-the-joomla-url-router/x/7216161
Agência Joomla

Respostas:


11

Passo 1

Edite “components / com_content / router.php” e continue na etapa 2.
(Você provavelmente precisará refazer esta etapa sempre que atualizar o Joomla.)

Passo 2

(Existem dois locais que precisam fazer essa alteração, um perto do topo e outro no meio) Substitua isso:

$advanced = $params->get('sef_advanced_link', 0);

Com isso:

$advanced = $params->get('sef_advanced_link', 1);

etapa 3

Substituir

->where($db->quoteName(‘alias’) . ‘ = ‘ . $db->quote($db->quote($segment)));

com

->where($db->quoteName(‘alias’) . ‘ = ‘ . $db->quote($segment));

e pronto.


você é bem-vindo @gag
saibbyweb

Eu tentei a solução acima no meu site 3.3.3 sem sucesso. O site completo ficaria em branco.

5

Para quem não quer se sujar com a edição do código do Joomla, mencionaremos que extensões SEF de terceiros fornecem a capacidade de remover os IDs dos URLs do SEF.

Existem várias extensões SEF que alguém pode encontrar no JED :

Por exemplo , SH404SEF , é uma das extensões Joomla mais populares e usadas, com longo histórico e suporte estendido por muitos componentes de terceiros.

Quanto a uma solução mais simples, deparei-me recentemente com um novo plug-in que fornece alguns recursos, incluindo "Remover IDs de Artigos, Categorias e Tags URLs SEF". Solução simples e fácil que funciona.

* Nota 1: as duas extensões mencionadas acima são downloads pagos.

* Nota 2: existe outra pergunta semelhante no JSE .


Pegando carona nisso, sou fã do Direct Alias, um plugin que apenas remove os IDs de artigo / categoria e nada mais. Ótima solução se você não quiser um componente SEF inteiro. extensions.joomla.org/extensions/extension/site-management/sef/…
YellowWebMonkey 6/17

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.