Ir para conteúdo
  • Cadastre-se

Deixar o título "Carrinho de Compras" dinâmico


Posts Recomendados

Em 07/06/2021 em 15:30, AdrianSilva disse:

Crie um arquivo PHP no diretório /meuWHMCS/includes/hooks/ e em seguida adicione o seguinte código no arquivo recém criado. 👇👇👇

<?php
 
use WHMCS\View\Menu\Item as MenuItem;
 
add_hook('ClientAreaSecondarySidebar'1function(MenuItem $secondarySidebar)
{
    $secondarySidebar->getChild("Actions")
        ->getChild("View Cart")
        ->setLabel("Novo Titulo Aqui!");
});

Em seguida salve o arquivo.

OBS: O nome do arquivo pode ser qualquer um. No entanto, deve ter a extensão .php

Deu erro

Oops!

Something went wrong and we couldn't process your request.

Please go back to the previous page and try again.

Link para o comentário
Compartilhar em outros sites

Em 07/06/2021 em 15:40, Cassiano Teixeira disse:

Deu erro

Oops!

Something went wrong and we couldn't process your request.

Please go back to the previous page and try again.

Qual template você está usando?

Em 07/06/2021 em 15:46, AdrianSilva disse:

Qual template você está usando?

Tente esse novo código abaixo!

<?php
 
use WHMCS\View\Menu\Item as MenuItem;
 
add_hook('ClientAreaSecondarySidebar'1function(MenuItem $secondarySidebar)
{
 
    if($secondarySidebar->getChild("Actions")) {
        $secondarySidebar->getChild("Actions")
        ->getChild("View Cart")
        ->setLabel("Novo Titulo Aqui!");
    }
});
Link para o comentário
Compartilhar em outros sites

Nesse mesmo arquivo, criado anteriormente, adicione o seguinte codigo no final!

function hook_setpagetitle($vars){
    
    if ($vars['filename']=='index'){
       $pagetitle = "AQUI O NOVO NOME DO TITULO!!!";
    }
    
    return array("pagetitle" => $pagetitle);
    }
    add_hook("VARIAVEL DA PAGINA AQUI!!!"1"hook_setpagetitle");
    

OBS: No trecho de código "VARIAVEL DA PAGINA AQUI!!!" como o próprio exemplo diz, você deve mudar para a variável de página, um exemplo abaixo!

Se você deseja alterar o título da página Base de Conhecimento, então você deve inserir a variável ClientAreaPageKnowledgebase Já para alterar o título na página de Faturas, você deve usar a variável ClientAreaPageInvoices

NOTA: O nome da variável deve estar entre as aspas.

Você pode encontrar todas as variáveis de todas ás páginas do WHMCS no seguinte link: https://developers.whmcs.com/hooks/hook-index/

Caso o arquivo onde a pagina encontra-se seja clientarea.php então deve alterar o trecho de código dentro do if() 👉 $vars['filename']=='index' para 👉  $vars['filename']=='clientarea'

 

Editado por AdrianSilva
Link para o comentário
Compartilhar em outros sites

Em 07/06/2021 em 11:37, AngelCosta disse:

Isso pode ser feito com uma alteração no header.tpl

 

<title>{$companyname} - {$pagetitle}{if $kbarticle.title} - {$kbarticle.title}{/if}</title>
{if $systemurl}<base href="{$systemurl}" />
{/if}

 

Basta usar condicionais para "casar" com a página do carrinho.

Não sabia dessa realmente o WHMCS está melhorando muito

Link para o comentário
Compartilhar em outros sites

Quando o produto é um Grupo de Hospedagem Compartilhada, onde tem Hospedagem de Site / Hospedagem WordPress / Hospedagem Dedicada (como opções no mesmo grupo), como eu faço essa identificação da variável pra que o titulo fique correto?

nas variáveis de páginas nativa como registro de domínios, noticias ou base de conhecimento encontrei, mas nas páginas dos produtos não achei a variável correta.

Link para o comentário
Compartilhar em outros sites

Em 07/06/2021 em 17:42, Cassiano Teixeira disse:

Quando o produto é um Grupo de Hospedagem Compartilhada, onde tem Hospedagem de Site / Hospedagem WordPress / Hospedagem Dedicada (como opções no mesmo grupo), como eu faço essa identificação da variável pra que o titulo fique correto?

nas variáveis de páginas nativa como registro de domínios, noticias ou base de conhecimento encontrei, mas nas páginas dos produtos não achei a variável correta.

Eu não entendo muito bem qual é a sua necessidade. O que entendi é que você deseja alterar o título da página, dependendo do grupo de produtos em que o cliente se encontra. Caso esse seja o caso, tente o novo código abaixo adicionado ao final do arquivo criado anteriormente.

function hook_setpagetitle($vars){
    
    if ($vars['filename']=='index'){
        $msg = $_SERVER[REQUEST_URI];
        $last_index = strripos($msg'/');
        $lastPath = substr($_SERVER[REQUEST_URI], $last_index);
        $replaceLetter = substr_replace($lastPath""01);
        $replaceAllCharacters = preg_replace('/-/'' '$replaceLetter);
        $itemNameFull = ucwords($replaceAllCharacters);
        $pagetitle = $itemNameFull;
    }
    
    return array("pagetitle" => $pagetitle);
    }
    add_hook("ClientAreaPageCart"1"hook_setpagetitle");
    
Editado por AdrianSilva
Link para o comentário
Compartilhar em outros sites

Em 07/06/2021 em 19:45, AdrianSilva disse:

Eu não entendo muito bem qual é a sua necessidade. O que entendi é que você deseja alterar o título da página, dependendo do grupo de produtos em que o cliente se encontra. Caso esse seja o caso, tente o novo código abaixo adicionado ao final do arquivo criado anteriormente.

function hook_setpagetitle($vars){
    
    if ($vars['filename']=='index'){
        $msg = $_SERVER[REQUEST_URI];
        $last_index = strripos($msg'/');
        $lastPath = substr($_SERVER[REQUEST_URI], $last_index);
        $replaceLetter = substr_replace($lastPath""01);
        $replaceAllCharacters = preg_replace('/-/'' '$replaceLetter);
        $itemNameFull = ucwords($replaceAllCharacters);
        $pagetitle = $itemNameFull;
    }
    
    return array("pagetitle" => $pagetitle);
    }
    add_hook("ClientAreaPageCart"1"hook_setpagetitle");
    

Perfeito, esse código funcionou perfeitamente. É isso mesmo que eu queria. Assim o titulo da página (no navegador) fica exatamente como está o nome do produto. Unico que ficou sem nome foi na pagina de registro e transferência de domínio.

O código completo deve ficar assim?

<?php
 
function hook_setpagetitle($vars){
    
    if ($vars['filename']=='index'){
        $msg = $_SERVER[REQUEST_URI];
        $last_index = strripos($msg, '/');
        $lastPath = substr($_SERVER[REQUEST_URI], $last_index);
        $replaceLetter = substr_replace($lastPath, "", 0, 1);
        $replaceAllCharacters = preg_replace('/-/', ' ', $replaceLetter);
        $itemNameFull = ucwords($replaceAllCharacters);
        $pagetitle = $itemNameFull;
    }
    
    return array("pagetitle" => $pagetitle);
    }
    add_hook("ClientAreaPageCart", 1, "hook_setpagetitle");

 

Link para o comentário
Compartilhar em outros sites

Esse novo código abaixo deve resolver!

function hook_setpagetitle($vars){
    
    if ($vars['filename']=='index'){
 
        $msg = $_SERVER[REQUEST_URI];
        $last_index = strripos($msg'/');
        $lastPath = substr($_SERVER[REQUEST_URI], $last_index);
        $replaceLetter = substr_replace($lastPath""01);
        $replaceAllCharacters = preg_replace('/-/'' '$replaceLetter);
        $itemNameFull = ucwords($replaceAllCharacters);
        $pagetitle = $itemNameFull;
 
    } else if($vars['filename']=='cart') {
 
        $msg = $_SERVER[REQUEST_URI];
        $last_index = strripos($msg'=');
        $lastPath = substr($_SERVER[REQUEST_URI], $last_index);
        $replaceLetter = substr_replace($lastPath""01);
 
        switch ($replaceLetter) {
            case 'register':
                $pagetitle = Lang::trans('domainregistration');
                break;
            case 'transfer':
                $pagetitle = Lang::trans('domaintransfer');
                break;
            default:
                return false;
                break;
        }
 
    } else {
        return false;
    }
    
    return array("pagetitle" => $pagetitle);
    }
 
    add_hook("ClientAreaPageCart"1"hook_setpagetitle");
Editado por AdrianSilva
Link para o comentário
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Infelizmente, seu conteúdo contém termos que não são permitimos. Edite seu conteúdo para remover as palavras destacadas abaixo.
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Concorda com os nossos termos?