Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte para temas OpenCart v3.x.
Por veteranodf
Mensagens Especiais
#82290
Olá;

Caso for o tema default acrescente a classe abaixo no final do arquivo "catalog/view/theme/default/stylesheet/stylesheet.css", após isso remova o cache do navegador;

.product-thumb .caption p {margin-top: 30px !important}
Avatar do usuário
Por m.lirangi
Mensagens
#82301
Amigo, obrigada pela ajuda, mas nao deu certo. Eu até fiz no default pra ver e tudo q mudou foi q o título veio pra margem direita... no meu tema, nada mudou.... alguma outra dica?
Avatar do usuário
Por Gusting
#82311
Olá,

ANTES DE TUDO aconselho a fazer um backup dos twigs que você for modificar antes de fazer tais modificações/testes.

Sou meio leigo, mas fica aqui minha ideia, porque é um caso muito especifico, vai precisar que você crie um filtro específico para os produtos que você quer fazer isso, o que poder dar um trabalhinho, ou tentar encontrar um padrão, por exemplo, sempre quebrar após 5 caracteres.

Caso queira tentar, vá /public/catalog/view/theme/SEUTEMA/template/product e abra o category.twig

Procure no category.twig pela linha
Código: Selecionar todos
<a href="{{ product.href }}">{{ product.name }}</a>
Que creio deve estar entre um <center><h4></h4></center>

E "sobreponha" o código com este:
Código: Selecionar todos
{% if product.name|length >= 22 %}
   <a href="{{ product.href }}">{{ product.name|slice(0,5) }}</a><br><a href="{{ product.href }}">{{ product.name|slice(5) }}</a>
{% else %}
   <a href="{{ product.href }}">{{ product.name }}</a>
{% endif %}

Neste caso, sempre que o nome do produto tiver 22 caracteres, ele quebra a linha com os 5 primeiros caracteres. Aí você pode ajustar pra quantia que você quer que haja efeito e da onde quebrar linha até onde.

Outra forma de fazer sem ser com o "Caso o produto tenha 22 caracteres", é pegar o id específico do produto e colocar no lugar do product.name|length, ficaria mais ou menos assim:
Código: Selecionar todos
{% if product.id == 99 %}

Lembrando que tudo isso é gambiarra, pois é um caso muito especifico, mas dá pra quebrar um galho. Ficaria mais ou menos assim:

Imagem

E outra coisa: Caso funcione no category.twig, é necessário a implementação do mesmo código no featured.twig, search.twig e no twig dos produtos relacionados.



Boa sorte,
Gusting
m.lirangi gostou disso
Por veteranodf
Mensagens Especiais
#82312
m.lirangi escreveu: 06 Jun 2019, 20:06 Amigo, obrigada pela ajuda, mas nao deu certo. Eu até fiz no default pra ver e tudo q mudou foi q o título veio pra margem direita... no meu tema, nada mudou.... alguma outra dica?
A minha dica funciona perfeitamente, quando te passei testei, o que deve fazer é acrescentar a classe no final do "stylesheet.css", mude o valor de 30px para outro tipo 60px, assim poderá ver melhor o efeito;

Deve remover o cache do navegador para a modificação entrar em vigor, caso a sua loja estiver utilizando cache é bom remover também, para isso acesse a página inicial da administração e clique no botão de engrenagem no topo direito abaixo do botão sair, no modal que abrir em "Tema" selecione OFF e ao lado clique em atualizar;
Avatar do usuário
Por m.lirangi
Mensagens
#82315
@veteranodf

Eu acho q vc nao entendeu oq preciso.. realmente, colocando o q vc falou, aumentou o espaço entre o título, a breve descrição e o preço, mas não é isso que preciso... preciso que o nome do produto seja dividido em 2 ou 3 linhas, tipo:
BULE
MOLDE DE SILICONE

Do jeito q tá, tá ficando
BULE MOLDE DE
SILICONE
Avatar do usuário
Por m.lirangi
Mensagens
#82316
Gusting escreveu: 07 Jun 2019, 11:13 Olá,

ANTES DE TUDO aconselho a fazer um backup dos twigs que você for modificar antes de fazer tais modificações/testes.

Sou meio leigo, mas fica aqui minha ideia, porque é um caso muito especifico, vai precisar que você crie um filtro específico para os produtos que você quer fazer isso, o que poder dar um trabalhinho, ou tentar encontrar um padrão, por exemplo, sempre quebrar após 5 caracteres.

Caso queira tentar, vá /public/catalog/view/theme/SEUTEMA/template/product e abra o category.twig

Procure no category.twig pela linha
Código: Selecionar todos
<a href="{{ product.href }}">{{ product.name }}</a>
Que creio deve estar entre um <center><h4></h4></center>

E "sobreponha" o código com este:
Código: Selecionar todos
{% if product.name|length >= 22 %}
   <a href="{{ product.href }}">{{ product.name|slice(0,5) }}</a><br><a href="{{ product.href }}">{{ product.name|slice(5) }}</a>
{% else %}
   <a href="{{ product.href }}">{{ product.name }}</a>
{% endif %}

Neste caso, sempre que o nome do produto tiver 22 caracteres, ele quebra a linha com os 5 primeiros caracteres. Aí você pode ajustar pra quantia que você quer que haja efeito e da onde quebrar linha até onde.

Outra forma de fazer sem ser com o "Caso o produto tenha 22 caracteres", é pegar o id específico do produto e colocar no lugar do product.name|length, ficaria mais ou menos assim:
Código: Selecionar todos
{% if product.id == 99 %}

Lembrando que tudo isso é gambiarra, pois é um caso muito especifico, mas dá pra quebrar um galho. Ficaria mais ou menos assim:

Imagem

E outra coisa: Caso funcione no category.twig, é necessário a implementação do mesmo código no featured.twig, search.twig e no twig dos produtos relacionados.



Boa sorte,
Gusting

Caramba, isso é mesmo uma baita GAMBIARRA, mas ficou do jeito q eu preciso.. .eu vou tentar, só espero nao fazer besteira.. vlw mesmo!
Avatar do usuário
Por m.lirangi
Mensagens
#82317
Gusting escreveu: 07 Jun 2019, 11:13 Olá,

ANTES DE TUDO aconselho a fazer um backup dos twigs que você for modificar antes de fazer tais modificações/testes.

Sou meio leigo, mas fica aqui minha ideia, porque é um caso muito especifico, vai precisar que você crie um filtro específico para os produtos que você quer fazer isso, o que poder dar um trabalhinho, ou tentar encontrar um padrão, por exemplo, sempre quebrar após 5 caracteres.

Caso queira tentar, vá /public/catalog/view/theme/SEUTEMA/template/product e abra o category.twig

Procure no category.twig pela linha
Código: Selecionar todos
<a href="{{ product.href }}">{{ product.name }}</a>
Que creio deve estar entre um <center><h4></h4></center>

E "sobreponha" o código com este:
Código: Selecionar todos
{% if product.name|length >= 22 %}
   <a href="{{ product.href }}">{{ product.name|slice(0,5) }}</a><br><a href="{{ product.href }}">{{ product.name|slice(5) }}</a>
{% else %}
   <a href="{{ product.href }}">{{ product.name }}</a>
{% endif %}

Neste caso, sempre que o nome do produto tiver 22 caracteres, ele quebra a linha com os 5 primeiros caracteres. Aí você pode ajustar pra quantia que você quer que haja efeito e da onde quebrar linha até onde.

Outra forma de fazer sem ser com o "Caso o produto tenha 22 caracteres", é pegar o id específico do produto e colocar no lugar do product.name|length, ficaria mais ou menos assim:
Código: Selecionar todos
{% if product.id == 99 %}

Lembrando que tudo isso é gambiarra, pois é um caso muito especifico, mas dá pra quebrar um galho. Ficaria mais ou menos assim:

Imagem

E outra coisa: Caso funcione no category.twig, é necessário a implementação do mesmo código no featured.twig, search.twig e no twig dos produtos relacionados.



Boa sorte,
Gusting
Pensando bem, não vai dar certo... tenho produtos com nomes grandes e pequenos :(
Será q não existe nada se possa fazer tipo product.name1 e product.name2 ??
Avatar do usuário
Por Gusting
#82319
m.lirangi escreveu: Pensando bem, não vai dar certo... tenho produtos com nomes grandes e pequenos :(
Será q não existe nada se possa fazer tipo product.name1 e product.name2 ??
Até deve ter como fazer esse ajuste de product.name1 e name2, mas ai geraria mais código, que não saberia te explicar porque nem eu mesmo tenho ideia.
E nisso entra ideia do Product ID, na loja que dou manutenção existe uns filtros iguais a esse, mas é relacionado a categoria do Produto.

Porém geraria um if bem grantido, dependendo da quantidade de produtos e isso geraria uma manutenção a mais, querendo ou não.

Mas é isto, essas foram minhas ideias.
Espero ter te dado uma luz, nem que ser for minima. kkkk

E ah, caso queira tentar com o id, vê o id no banco ou caso ainda esteja sem SEO URL, é só olhar na query que você vai saber qual id colocar no if. Por exemplo:
Imagem

Aí é só colocar no lugar do
Código: Selecionar todos
{% if product.name|length >= 22 %}
para
Código: Selecionar todos
{% if product.id == 400 %}
Boa sorte,
Gusting
Por veteranodf
Mensagens Especiais
#82321
@m.lirangi desculpe realmente não tinha captado o que desejava, agora sim ficou claro, você pode seguir a dica do amigo @Gusting ou o passo que irei passar abaixo que entrará em vigor em todas as páginas e módulos instalados na loja;

Arquivo catalog\model\catalog\product.php

Localize:
Código: Selecionar todos
			return array(
				'product_id'       => $query->row['product_id'],
				'name'             => $query->row['name'],
Substitua por:
Código: Selecionar todos
			if (preg_match('/\s/i', trim($query->row['name']))) {
				$name               = explode(" ", trim($query->row['name']));
				$new_name           = $name['0'];
				unset($name['0']);
				$query->row['name'] = $new_name.'<br />'.implode(" ", $name);
			}
			
			return array(
				'product_id'       => $query->row['product_id'],
				'name'             => $query->row['name'],
Após executar a alteração deve acessar o menu Extensões > Modificações e atualizar o cache OCMOD

Gente preciso de ajuda urgente. Na migraç&a[…]

Caro @reds , muito obrigado pela resposta.

PHP 8+ incompatibilidade

Toda tradução para a versão 3[…]

Ola @alex3257 Se você precisa apenas ver […]