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.