Ir para conteúdo

Featured Replies

Postado
  • Autor
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.


Postado
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!");
    }
});

Postado
  • Autor

Esse segundo código deu certo. Me explica como eu altero o titulo que irá aparecer no navegado por favor?


Postado

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


Postado
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


Postado
  • Autor

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.


Postado
  • Administração
Em 07/06/2021 em 17:00, dawnkeeptecnologia disse:

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

Isso existe desde as primeiras versões... 

'Cause he's my best friend, he's my pal. He's my homeboy, my rotten soldier. He's my sweet cheese. My good-time boy.


Postado
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


Postado
  • Autor
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");

 


Postado

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


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.
Nota: Sua postagem exigirá aprovação do moderador antes de ficar visível.

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Informação Importante

Concorda com os nossos termos?