Página 1 de 2

Trazer informação para bestseller, freatured [RESOLVIDO]

Enviado: 09 Ago 2024, 14:42
por nortgraf
Ola, criei um campo para inserir uma label nas extensões, destaques, mais vendidos, lançamentos.
O campo envia informações par a base de dados do produto e salva perfeitamente.
Mas estou enfrentando dificuldades em trazer essa informação para o front end.

Já usei algumas coisas:
Código: Selecionar todos
if ($product_info['selo']) {
$data['selo'] = $product_info['selo'];
} else { 
$data['selo'] = false;
}
Código: Selecionar todos
if ($this->config->get('selo')) {
$data['selo'] = $this->config->get('selo');
} else {
$data['selo'] = false;
}
Código: Selecionar todos
$data ['selo'] = $this->config->get('selo');
Alguém poderia me ajudar?

Re: Trazer informação para bestseller, freatured

Enviado: 12 Ago 2024, 08:56
por reds
Ola @nortgraf

No caso acima vc esta declarando errado no controle.

Em tese você já esta trazendo todas elas, como visto na chamada do modulo
Código: Selecionar todos
public function index($setting) {
A partir dessa linha você já pode trazer todas as existentes, basta apenas fazer uma chamada global ai, algo como?

Nesse exemplo a gente traz todas?
Código: Selecionar todos
// all query
$data['setting'] = $setting;
Isso é prático uma vez que você sabe o nome de todas apenas precisa criar as condições no front-end da loja
Exemplo de uso no front-end
Código: Selecionar todos
{% if setting.selo %}
 <span>{{ setting.selo }}</span> 
{% endif %}
Ou você pode setar uma a uma assim como desejável?
Código: Selecionar todos
// Selo
$data['selo'] = $setting['selo'];
Nesse exemplo a gente criou o selo e trouxe o valor que representa ele dentro do controle separadamente.
No uso do front-end:
Código: Selecionar todos
{% if selo %} 
<span>{{ selo }}</span>
{% endif %}
O uso do IF nessa condição não faz diferença pois ela sempre vai existir no seu modulo, então fica apenas a boa prática.
Teste uma das condições e veja se resulta a você, espero que ajude ;)

Re: Trazer informação para bestseller, freatured

Enviado: 12 Ago 2024, 17:14
por nortgraf
Desde já, te agradeço imensamente por sua resposta!

Então eu deveria apenas usar estes chamados e substituir as que fiz no controller?

Usei eles, mas acho que ainda tem algo errado. A coluna selo foi criada manualmente (nome "Selo", Tipo "TINYINT")

Deixarei o XML completo aqui no fórum e com a ajuda, varias pessoas caso queiram, podem utilizar.

Ela cria um select na página de cadastro do produto, com algumas opções, que mostra nos módulos, bestseller, featured, latest e Category, além da página do produto. No momento ela esta aparecendo apenas na pagina do produto.

Select na pagina de cadastro do produto no Admin:
Imagem

Label na pagina do produto Front-end:
Imagem
Código: Selecionar todos
<?xml version="1.0" encoding="utf-8"?>
<modification>
  <name>Selo de destaque</name>
  <code>selo_de_destaque_produto</code>
  <version>1.0</version>
  <author>Icaro Matos</author>
  <link>nortgraf</link>
  
    <file path="catalog/model/catalog/product.php">
		<operation error="skip">
			<search><![CDATA[
				'model'            => $query->row['model'],
			]]></search>
			<add position="after"><![CDATA[
				'selo'            => $query->row['selo'],
			]]></add>
		</operation>
	</file>
  
    <file path="catalog/controller/product/product.php">
        <operation error="skip">
			<search><![CDATA[if ($product_info['minimum']) {]]></search>
			<add position="after"><![CDATA[
			if ($product_info['selo']) {
				$data['selo'] = $product_info['selo'];
			} else {
				$data['selo'] = false;
			}]]></add>
		</operation>
	</file>
	
	<file path="catalog/controller/product/category.php">
        <operation error="skip">
			<search><![CDATA[if ($this->config->get('config_review_status')) {]]></search>
			<add position="after"><![CDATA[
			if ($this->config->get('selo')) {
					$selo = $result['selo'];
				} else {
					$selo = false;
				}]]></add>
		</operation>
		<operation error="skip">
			<search><![CDATA['rating'      => $result['rating'],]]></search>
			<add position="before"><![CDATA[
			'selo'      => $result['selo'],
			]]></add>
		</operation>
	</file>
	
	<file path="catalog/model/product/category.php">
        <operation error="skip">
			<search><![CDATA[if ($this->config->get('config_review_status')) {]]></search>
			<add position="after"><![CDATA[
			if ($category_info['image']) {
					$selo = $result['selo'];
				} else {
					$selo = false;
				}]]></add>
		</operation>
		<operation error="skip">
			<search><![CDATA['rating'      => $result['rating'],]]></search>
			<add position="before"><![CDATA[
			'selo'      => $result['selo'],
			]]></add>
		</operation>
	</file>
	
	<file path="catalog/controller/extension/module/{bestseller,latest,special}*.php">
        <operation error="skip">
			<search><![CDATA[public function index($setting) {]]></search>
			<add position="after"><![CDATA[
			        // all query
                    $data['selo'] = $setting['selo'];
					
					]]></add>
		</operation>	    
        <operation>
            <search position="replace"><![CDATA[foreach ($results as $result) {]]></search>
            <add><![CDATA[
              foreach ($results as $result) {
              
                if ($this->config->get('selo')) {
					$selo = $result['selo'];
				} else {
					$selo = false;
				}
                ]]>
            </add>
        </operation>

        <operation>
            <search position="after"><![CDATA['rating'      => $rating,]]></search>
            <add><![CDATA[
                 'selo'      => $selo,
                ]]>
            </add>
        </operation>
    </file>

    <file path="catalog/controller/extension/module/featured.php">
        <operation error="skip">
			<search><![CDATA[public function index($setting) {]]></search>
			<add position="after"><![CDATA[
			        // all query
                    $data['selo'] = $setting['selo'];
					
					]]></add>
		</operation>
		
        <operation error="skip">
			<search><![CDATA['rating'      => $rating,]]></search>
			<add position="after"><![CDATA['selo'      => $selo,]]></add>
		</operation>
		<operation error="skip">
			<search><![CDATA[if ($this->config->get('config_review_status')) {]]></search>
			<add position="before"><![CDATA[
			        if ($this->config->get('selo')) {
						$selo = $product_info['selo'];
					} else {
						$selo = false;
					}
					
					]]></add>
		</operation>

        <operation>
            <search position="after"><![CDATA['rating'      => $rating,]]></search>
            <add><![CDATA[
                 'selo'      => $selo,
                ]]>
            </add>
        </operation>
	</file>
	
	<file path="catalog/view/theme/*/template/extension/module/featured.twig">
        <operation error="skip">
			<search><![CDATA[<div class="image">]]></search>
			<add position="before"><![CDATA[<span class="vitrine-produto-selo" name="selo"> <b>{{ setting.selo }}</b></span>]]></add>
		</operation>
	</file>
	
	<file path="catalog/view/theme/*/template/extension/module/{bestseller,latest,special}*.twig">
        <operation error="skip">
			<search><![CDATA[<div class="image">]]></search>
			<add position="before"><![CDATA[<span class="vitrine-produto-selo" name="selo"> <b>{{ selo }}</b></span>]]></add>
		</operation>
	</file>
	
	<file path="catalog/view/theme/*/template/product/product.twig">
        <operation error="skip">
			<search><![CDATA[<a class="thumbnail" href="{{ popup }}" title="{{ heading_title }}"><img src="{{ thumb }}" title="{{ heading_title }}" alt="{{ heading_title }}" /></a></li>]]></search>
			<add position="before"><![CDATA[
			{% if selo == 1 %}
                  <span class="vitrine-produto-selo blue" name="selo"><b><i class="fa fa-star"></i> Novo</b></span>
                  {% endif %}
                  {% if selo == 2 %}
                  <span class="vitrine-produto-selo yellow" name="selo"><b><i class="fa fa-fire"></i> Promoção</b></span>
                  {% endif %}
                  {% if selo == 3 %}
                  <span class="vitrine-produto-selo black" name="selo"><b><i class="far fa-clock"></i> Produção 24Hrs</b></span>
                  {% endif %}
                  {% if selo == 4 %}
                  <span class="vitrine-produto-selo black" name="selo"><b><i class="fa fa-arrows-alt"></i> Formato personalizado</b></span>
                  {% endif %}
                  {% if selo == 5 %}
                  <span class="vitrine-produto-selo green" name="selo"><b><i class="fa fa-shipping-fast"></i> Frete grátis</b></span>
                  {% endif %}
			]]></add>
		</operation>
	</file>
	
    <file path="admin/controller/catalog/product.php">
		<operation error="skip">
			<search><![CDATA[
				if (isset($this->request->post['minimum'])) {
			]]></search>
			<add position="before"><![CDATA[
				// adiciona tag de destaque
			if (isset($this->request->post['selo'])) {
			    $data['selo'] = $this->request->post['selo'];
		    } elseif (!empty($product_info)) {
			    $data['selo'] = $product_info['selo'];
		    } else {
			    $data['selo'] = '';
		    }
				
			]]></add>
		</operation>
	</file>
	
	<file path="admin/model/catalog/product.php">
		<operation error="skip">
			<search><![CDATA[
    				stock_status_id = '" . (int)$data['stock_status_id'] . "',
			]]></search>
			<add position="replace"><![CDATA[
			 stock_status_id = '" . (int)$data['stock_status_id'] . "', selo = '" . (int)$data['selo'] . "',
			]]></add>
		</operation>
		<operation error="skip">
			<search><![CDATA[
				pov.quantity
			]]></search>
			<add position="replace"><![CDATA[
				pov.quantity, pov.selo
			]]></add>
		</operation>
	</file>

	<file path="admin/view/template/catalog/product_form.twig">
		<operation error="skip">
			<search><![CDATA[
				<label class="mb-5 control-label" for="input-status">{{ entry_status }}</label>
			]]></search>
			<add position="before" offset="2"><![CDATA[
			<div class="form-group">
                <div class="col-sm-12">
                  <label class="mb-5 control-label" for="input-stock-status"><span data-toggle="tooltip" title="Selo de destaque">Selo de destaque</span></label>
                <select name="selo" id="input-selo" class="form-control">
                    <option value="0" {% if selo == 0 %}selected {% endif %}>Nenhum</option>
                    <option value="1" {% if selo == 1 %}selected {% endif %}>Novo</option>
                    <option value="2" {% if selo == 2 %}selected {% endif %}>Promoção</option>
                    <option value="3" {% if selo == 3 %}selected {% endif %}>Produção 24Hrs</option>
                    <option value="4" {% if selo == 4 %}selected {% endif %}>Formato personalizado</option>
                    <option value="5" {% if selo == 5 %}selected {% endif %}>Frete grátis</option>
                </select>
                </div>
              </div>

			]]></add>
		</operation>
	</file>
		<!--
	<file path="">
		<operation error="skip" info="">
	      <search trim="true|false" index="0" ><![CDATA[
	      
	      ]]></search>
	      <add position="replace|before|after" offset="0"><![CDATA[
	      
	      ]]></add>
	    </operation>
	  </file>
	-->
</modification>
As edições não geram resposta

Re: Trazer informação para bestseller, freatured

Enviado: 13 Ago 2024, 14:52
por leandrorppo
Olá! Tudo bem?

Quando criar um campo novo para outras seções (tirando a do produto principal) é necessário inserir dentro da array, exemplo para o controller/extension/module/featured.php:

Após a linha:
Código: Selecionar todos
$data['products'][] = array(
Insira:
Código: Selecionar todos
'selo' => strlen($product_info['selo']),
Lembrando que para outras seções ficará:
Código: Selecionar todos
'selo' => strlen($result['selo']),
Assim conseguirá chamar a variável de forma correta.

Boa sorte!

Re: Trazer informação para bestseller, freatured

Enviado: 13 Ago 2024, 18:33
por nortgraf
@leandrorppo Então o unico resultado que consegui foi 1 e 0,mas nao o que esta no banco de dados, nao consigo entender o que possa estar errado, ja fiz varios testes, sei que pode ser uma bobagem qualquer, mas nao estou conseguindo identificar.

Como esta montado no controller
Código: Selecionar todos
<?php
class ControllerExtensionModuleFeatured extends Controller {
	public function index($setting) {
		$this->load->language('extension/module/featured');

		$this->load->model('catalog/product');

		$this->load->model('tool/image');

		$data['products'] = array();

		if (!$setting['limit']) {
			$setting['limit'] = 4;
		}

		if (!empty($setting['product'])) {
			$products = array_slice($setting['product'], 0, (int)$setting['limit']);

			foreach ($products as $product_id) {
				$product_info = $this->model_catalog_product->getProduct($product_id);

				if ($product_info) {
					if ($product_info['image']) {
						$image = $this->model_tool_image->resize($product_info['image'], $setting['width'], $setting['height']);
					} else {
						$image = $this->model_tool_image->resize('placeholder.png', $setting['width'], $setting['height']);
					}

					if ($this->customer->isLogged() || !$this->config->get('config_customer_price')) {
						$price = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
					} else {
						$price = false;
					}

					if ((float)$product_info['special']) {
						$special = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']);
					} else {
						$special = false;
					}

					if ($this->config->get('config_tax')) {
						$tax = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price'], $this->session->data['currency']);
					} else {
						$tax = false;
					}

					if ($this->config->get('config_review_status')) {
						$rating = $product_info['rating'];
					} else {
						$rating = false;
					}

					if(mb_strlen($product_info['name'], 'UTF-8') > 128){
				        $name = utf8_substr($product_info['name'], 0, 128) . '...';
				    } else {
				        $name = $product_info['name'];
				    }
					
					if (strlen($product_info['selo'])) {
						$data['selo'] = $product_info['selo'];
					} else {
						$data['selo'] = false;
					}

					$data['products'][] = array(
						'product_id'  => $product_info['product_id'],
						'thumb'       => $image,
						//'name'        => $product_info['name'],
						'name'        => $name,
						'description' => utf8_substr(strip_tags(html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('theme_' . $this->config->get('config_theme') . '_product_description_length')) . '..',
						'price'       => $price,
						'special'     => $special,
						'tax'         => $tax,
						'rating'      => $rating,
						'selo' => strlen($product_info['selo']),
						'href'        => $this->url->link('product/product', 'product_id=' . $product_info['product_id'])
					);
				}
			}
		}

		if ($data['products']) {
			return $this->load->view('extension/module/featured', $data);
		}
	}
}
tentei, da o resultado 0
Código: Selecionar todos
if (strlen($product_info['selo'])) {
						$data['selo'] = $product_info['selo'];
					} else {
						$data['selo'] = false;
					}
nenhum resultado
Código: Selecionar todos
if (strlen($product_info['selo'])) {
						$selo = $product_info['selo'];
					} else {
						$selo = false;
					}
Código: Selecionar todos
if ($product_info['selo']) {
						$selo = $product_info['selo'];
					} else {
						$selo = false;
					}
tambem tentei a solucao do @reds e tambem nao traz nenhuma informacao

Re: Trazer informação para bestseller, freatured

Enviado: 13 Ago 2024, 22:22
por reds
Ola @nortgraf
A minha resposta é válida se você esta guardando o objeto dentro do array do modulo.
Nesse seu caso é algo diferente.

Pelo que percebi você criou um campo na tabela do produto chamado selo, e guarda valores 1,2 ,3, 4 ou 5?
No formulário de cadastro do produto, você seleciona um valor que é representado pelo nome científico (1 Novo, 2 Promoção, 3 Produção 24Hrs, 4 Formato personalizado, 5 Frete grátis)
Ai depois deseja exibir a condição baseado nesse valor guardado? nos módulos e também na pagina do produto?

Me esclarecer melhor isso, assim tenho melhor visão, me informe tambem em qual tabela você criou o campo.
:D

Re: Trazer informação para bestseller, freatured

Enviado: 13 Ago 2024, 22:51
por nortgraf
Isso @reds , eu criei na tabela produtos uma coluna com o nome "selo", ela guarda valores int, no formulario do produto o value do select é de 1 a 5, na exibição ele vai mostrar apenas o numero e eu vou criar a condicao para que de acordo com o numero ele mostre o nome desejado.


na pagina do produto ele funciona corretamente, so nao consegui puxar ainda as informacoes para os modulos, bestseller, featured, latest e Category

no admin ele funciona assim:
Código: Selecionar todos
<select name="selo" id="input-selo" class="form-control">
                    <option value="0" {% if selo == 0 %}selected {% endif %}>Nenhum</option>
                    <option value="1" {% if selo == 1 %}selected {% endif %}>Novo</option>
                    <option value="2" {% if selo == 2 %}selected {% endif %}>Promoção</option>
                    <option value="3" {% if selo == 3 %}selected {% endif %}>Produção 24Hrs</option>
                    <option value="4" {% if selo == 4 %}selected {% endif %}>Formato personalizado</option>
                    <option value="5" {% if selo == 5 %}selected {% endif %}>Frete grátis</option>
                </select>
A coluna foi criada dentro de `oc_product`.

Ele aparece corretamente na pagina do produto:
https://nortgraf.com.br/cartao-de-visit ... ente-9x5cm


Se puder olhar:
Código: Selecionar todos
<?xml version="1.0" encoding="utf-8"?>
<modification>
  <name>Selo de destaque</name>
  <code>selo_de_destaque_produto</code>
  <version>1.0</version>
  <author>Icaro Matos</author>
  <link>nortgraf</link>
  
    <file path="catalog/model/catalog/product.php">
		<operation error="skip">
			<search><![CDATA[
				'model'            => $query->row['model'],
			]]></search>
			<add position="after"><![CDATA[
				'selo'            => $query->row['selo'],
			]]></add>
		</operation>
	</file>
  
    <file path="catalog/controller/product/product.php">
        <operation error="skip">
			<search><![CDATA[if ($product_info['minimum']) {]]></search>
			<add position="after"><![CDATA[
			if ($product_info['selo']) {
				$data['selo'] = $product_info['selo'];
			} else {
				$data['selo'] = false;
			}]]></add>
		</operation>
	</file>
	
	<file path="catalog/controller/product/category.php">
        <operation error="skip">
			<search><![CDATA[if ($this->config->get('config_review_status')) {]]></search>
			<add position="after"><![CDATA[
			if ($this->config->get('selo')) {
					$selo = $result['selo'];
				} else {
					$selo = false;
				}]]></add>
		</operation>
		<operation error="skip">
			<search><![CDATA['rating'      => $result['rating'],]]></search>
			<add position="before"><![CDATA[
			'selo'      => $result['selo'],
			]]></add>
		</operation>
	</file>
	
	<file path="catalog/model/product/category.php">
        <operation error="skip">
			<search><![CDATA[if ($this->config->get('config_review_status')) {]]></search>
			<add position="after"><![CDATA[
			if ($category_info['image']) {
					$selo = $result['selo'];
				} else {
					$selo = false;
				}]]></add>
		</operation>
		<operation error="skip">
			<search><![CDATA['rating'      => $result['rating'],]]></search>
			<add position="before"><![CDATA[
			'selo'      => $result['selo'],
			]]></add>
		</operation>
	</file>
	
	<file path="catalog/controller/extension/module/{bestseller,latest,special}*.php">
        <operation error="skip">
			<search><![CDATA[public function index($setting) {]]></search>
			<add position="after"><![CDATA[
			        // all query
                    $data['selo'] = $setting['selo'];
					
					]]></add>
		</operation>	    
        <operation>
            <search position="replace"><![CDATA[foreach ($results as $result) {]]></search>
            <add><![CDATA[
              foreach ($results as $result) {
              
                if ($this->config->get('selo')) {
					$selo = $result['selo'];
				} else {
					$selo = false;
				}
                ]]>
            </add>
        </operation>

        <operation>
            <search position="after"><![CDATA['rating'      => $rating,]]></search>
            <add><![CDATA[
                 'selo'      => $selo,
                ]]>
            </add>
        </operation>
    </file>

    <file path="catalog/controller/extension/module/featured.php">
        <operation error="skip">
			<search><![CDATA[public function index($setting) {]]></search>
			<add position="after"><![CDATA[
			        // all query
                    $data['selo'] = $setting['selo'];
					
					]]></add>
		</operation>
		
        <operation error="skip">
			<search><![CDATA['rating'      => $rating,]]></search>
			<add position="after"><![CDATA['selo'      => $selo,]]></add>
		</operation>
		<operation error="skip">
			<search><![CDATA[if ($this->config->get('config_review_status')) {]]></search>
			<add position="before"><![CDATA[
			        if ($this->config->get('selo')) {
						$selo = $product_info['selo'];
					} else {
						$selo = false;
					}
					
					]]></add>
		</operation>

        <operation>
            <search position="after"><![CDATA['rating'      => $rating,]]></search>
            <add><![CDATA[
                 'selo'      => $selo,
                ]]>
            </add>
        </operation>
	</file>
	
	<file path="catalog/view/theme/*/template/extension/module/featured.twig">
        <operation error="skip">
			<search><![CDATA[<div class="image">]]></search>
			<add position="before"><![CDATA[<span class="vitrine-produto-selo" name="selo"> <b>{{ setting.selo }}</b></span>]]></add>
		</operation>
	</file>
	
	<file path="catalog/view/theme/*/template/extension/module/{bestseller,latest,special}*.twig">
        <operation error="skip">
			<search><![CDATA[<div class="image">]]></search>
			<add position="before"><![CDATA[<span class="vitrine-produto-selo" name="selo"> <b>{{ selo }}</b></span>]]></add>
		</operation>
	</file>
	
	<file path="catalog/view/theme/*/template/product/product.twig">
        <operation error="skip">
			<search><![CDATA[<a class="thumbnail" href="{{ popup }}" title="{{ heading_title }}"><img src="{{ thumb }}" title="{{ heading_title }}" alt="{{ heading_title }}" /></a></li>]]></search>
			<add position="before"><![CDATA[
			{% if selo == 1 %}
                  <span class="vitrine-produto-selo blue" name="selo"><b><i class="fa fa-star"></i> Novo</b></span>
                  {% endif %}
                  {% if selo == 2 %}
                  <span class="vitrine-produto-selo yellow" name="selo"><b><i class="fa fa-fire"></i> Promoção</b></span>
                  {% endif %}
                  {% if selo == 3 %}
                  <span class="vitrine-produto-selo black" name="selo"><b><i class="far fa-clock"></i> Produção 24Hrs</b></span>
                  {% endif %}
                  {% if selo == 4 %}
                  <span class="vitrine-produto-selo black" name="selo"><b><i class="fa fa-arrows-alt"></i> Formato personalizado</b></span>
                  {% endif %}
                  {% if selo == 5 %}
                  <span class="vitrine-produto-selo green" name="selo"><b><i class="fa fa-shipping-fast"></i> Frete grátis</b></span>
                  {% endif %}
			]]></add>
		</operation>
	</file>
	
    <file path="admin/controller/catalog/product.php">
		<operation error="skip">
			<search><![CDATA[
				if (isset($this->request->post['minimum'])) {
			]]></search>
			<add position="before"><![CDATA[
				// adiciona tag de destaque
			if (isset($this->request->post['selo'])) {
			    $data['selo'] = $this->request->post['selo'];
		    } elseif (!empty($product_info)) {
			    $data['selo'] = $product_info['selo'];
		    } else {
			    $data['selo'] = '';
		    }
				
			]]></add>
		</operation>
	</file>
	
	<file path="admin/model/catalog/product.php">
		<operation error="skip">
			<search><![CDATA[
    				stock_status_id = '" . (int)$data['stock_status_id'] . "',
			]]></search>
			<add position="replace"><![CDATA[
			 stock_status_id = '" . (int)$data['stock_status_id'] . "', selo = '" . (int)$data['selo'] . "',
			]]></add>
		</operation>
		<operation error="skip">
			<search><![CDATA[
				pov.quantity
			]]></search>
			<add position="replace"><![CDATA[
				pov.quantity, pov.selo
			]]></add>
		</operation>
	</file>

	<file path="admin/view/template/catalog/product_form.twig">
		<operation error="skip">
			<search><![CDATA[
				<label class="mb-5 control-label" for="input-status">{{ entry_status }}</label>
			]]></search>
			<add position="before" offset="2"><![CDATA[
			<div class="form-group">
                <div class="col-sm-12">
                  <label class="mb-5 control-label" for="input-stock-status"><span data-toggle="tooltip" title="Selo de destaque">Selo de destaque</span></label>
                <select name="selo" id="input-selo" class="form-control">
                    <option value="0" {% if selo == 0 %}selected {% endif %}>Nenhum</option>
                    <option value="1" {% if selo == 1 %}selected {% endif %}>Novo</option>
                    <option value="2" {% if selo == 2 %}selected {% endif %}>Promoção</option>
                    <option value="3" {% if selo == 3 %}selected {% endif %}>Produção 24Hrs</option>
                    <option value="4" {% if selo == 4 %}selected {% endif %}>Formato personalizado</option>
                    <option value="5" {% if selo == 5 %}selected {% endif %}>Frete grátis</option>
                </select>
                </div>
              </div>

			]]></add>
		</operation>
	</file>
		<!--
	<file path="">
		<operation error="skip" info="">
	      <search trim="true|false" index="0" ><![CDATA[
	      
	      ]]></search>
	      <add position="replace|before|after" offset="0"><![CDATA[
	      
	      ]]></add>
	    </operation>
	  </file>
	-->
</modification>

Re: Trazer informação para bestseller, freatured

Enviado: 14 Ago 2024, 08:16
por reds
Ola @nortgraf

Entendi, então apartir desse o elemento já esta dentro do array de dados do produto, basta chamar ele no controller do modulo e no view fazer a mágica, ou extrair ele no controler e levar ao view apenas o resultado desejado.

No controller adicione o valor logo abaixo, como visto
Código: Selecionar todos
$data['products'][] = array(
       'selo'  => $result['selo'], 
No view faça a query com o valor recebido.
Código: Selecionar todos
{% if (product.selo != 0) %}
<div class="selo selo_{{ product.selo}}">
{% if selo == 1 %} Novo{% endif %}
{% elseif selo == 2 %} Promoção{% endif %}
{% elseif selo == 3 %} Produção 24Hrs{% endif %}
{% elseif selo == 4 %} Formato personalizado{% endif %}
{% else %} Frete grátis{% endif %}
{% endif %}
</div>{% endif %}
Em tese ai peguei o valor e estou comparando para exibi-lo, eu criei um div+valor, ou seja você personalizar a label baseado no div, alem e claro de adicionar elementos dentro do valor de saida.

Isso é apenas um exemplo, veja se funciona.

Re: Trazer informação para bestseller, freatured

Enviado: 14 Ago 2024, 10:19
por nortgraf
Bom dia! @reds , agradeço muito por sua ajuda.

Eu já tinha essa chamada no código, inseri, removi, alterei e várias coisas.
Código: Selecionar todos
$data['products'][] = array(
   'selo'  => $result['selo'], 
Eu estava chamando ele apenas como:
Código: Selecionar todos
{{ selo }}
Mas a solução do problema foi exatamente isso, foi só alterar para:
Código: Selecionar todos
{{ product.selo }}
E funcionou corretamente!
Ontem após sua pergunta em como eu tinha feito e se tinha criado uma coluna na tabela product, pensei que esse poderia ser o problema, então modifiquei o XML para ele criar uma nova linha na tabela e no lugar de número inteiro ele salvaria como um texto, mesmo assim não tinha funcionado e agora tudo funciona.

Entao acabei criando duas formas e as duas funcionaram!

Re: Trazer informação para bestseller, freatured

Enviado: 14 Ago 2024, 14:45
por leandrorppo
Olá! Tudo bem?

Notei que tinha criado um campo e por isso já fui para a resposta final dentro da array

Que bom que deu certo.

Boa sorte nos projetos!