[Resolvido} Listar produto por fabricantes No VirtueMart ??

  • michelediehl
  • Avatar de michelediehl Autor do Tópico
  • Offline
  • JCB! Colaborador
  • JCB! Colaborador
Mais
13 anos 10 meses atrás #60240 por michelediehl
michelediehl replied the topic: Re: Listar produto por fabricantes No VirtueMart ??
Agoraa deu certoooo !!!

Segui o tópico que você me passou e deu certoo !!!

Nossaa muuuito obrigadoo mesmo !!!

valeu... <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Rindo" /><!-- s:lol: -->

Please Entrar ou Registrar to join the conversation.

Mais
13 anos 10 meses atrás #60244 por rldesign
rldesign replied the topic: Re: Listar produto por fabricantes No VirtueMart ??

michelediehl escreveu: Agoraa deu certoooo !!!

Segui o tópico que você me passou e deu certoo !!!

Nossaa muuuito obrigadoo mesmo !!!

valeu... <!-- s:lol: --><img src="{SMILIES_PATH}/icon_lol.gif" alt=":lol:" title="Rindo" /><!-- s:lol: -->


Que bom que tenha dado certo!
Mas por favor, no minimo, coloque todos os passos que fez pra resolver o problema.

Rafael Santana
Web Designer | R&L Design - Desenvolvimento Gráfico e Sites

Please Entrar ou Registrar to join the conversation.

  • michelediehl
  • Avatar de michelediehl Autor do Tópico
  • Offline
  • JCB! Colaborador
  • JCB! Colaborador
Mais
13 anos 10 meses atrás #60279 por michelediehl
michelediehl replied the topic: Re: [Resolvido} Listar produto por fabricantes No VirtueMart ??
Bom vou mostrar como fiz passo a passo !! Só tem um probleminha..não sei por qual motivo ele não está mais filtrando o fabricante...=/ Ele só seleciona mas não filtra...

Na página administrator/componentes/com_virtuemart/html/shop.browse.php

Mais ou menos na linha 217 inseri este código:
$query  = "SELECT distinct a.manufacturer_id,a.mf_name FROM #__{vm}_manufacturer AS a "; 
 	 	 if (!empty( $category_id ) ) { 
 	 	 $query .= ", #__{vm}_product_category_xref AS d, " 
 	 	 . " #__{vm}_product AS b, " 
 	 	 . " #__{vm}_product_mf_xref AS c " 
 	 	 . " WHERE d.category_id='$category_id'" 
 	 	 . " AND d.product_id = b.product_id " 
 	 	 . " AND b.product_id = c.product_id AND c.manufacturer_id = a.manufacturer_id "; 
 	 	 } 
 	 	 $query .= "ORDER BY mf_name ASC"; 
 	 	 $db = new ps_DB; 
 	 	 $db->query( $query ); 
 
 	 	 $res = $db->record; 
 	 	 
 	 	 ?> 
 <select class="inputbox" name="manufacturer_id" onchange="order.submit()"> 
 <option value=""> <?php echo _CMN_SELECT ?> </option> 
 <?php 
 	 	 	 foreach ( $res as $manufacturer ) { 
 	 	 	 	 	 $selected = '' ; 
 	 	 	 	 	 if( @ $_REQUEST &#91; 'manufacturer_id' &#93; == $manufacturer -> manufacturer_id ) { 
 	 	 	 	 	 	 	 $selected = 'selected="selected"' ; 
 	 	 	 	 	 } 
 	 	 	 	 	 echo "<option value=\"" . $manufacturer -> manufacturer_id . "\" $selected>" . $manufacturer -> mf_name . "</option>\n" ; 
 
 	 	 	 } 
 ?> 
 </select>

Depois em torno da linha 30 inseri este código:
$url = $sess->url( $mm_action_url."index.php?page=shop.product_details&flypage=$flypage&product_id=" . $db_browse->f("product_id") . "&category_id=" . $db_browse->f("category_id")); 
 	 	 if (!empty($manufacturer_id) && $manufacturer_id<>0) { 
 	 	 	 $url .= "&manufacturer_id=" . $manufacturer_id; 
 	 	 } 

Na página administrator/componentes/com_virtuemart/html/shop_browse_queries.php

Na linha 181 este:
elseif (empty($manufacturer_id) || !empty($category_id))

Logo abaixo este:
/*** GET ALL PUBLISHED PRODUCTS ***/ 
 	 $list  = "SELECT DISTINCT $fieldnames FROM (`#__{vm}_product`, `#__{vm}_category`, `#__{vm}_product_category_xref`,`#__{vm}_shopper_group`) "; 
 	 $count  = "SELECT $count_name FROM (`#__{vm}_product`, `#__{vm}_category`, `#__{vm}_product_category_xref`,`#__{vm}_shopper_group`) "; 
 	 if ($manufacturer_id) { 
 	 	 $list  = "SELECT DISTINCT $fieldnames FROM (`#__{vm}_product`, `#__{vm}_category`, `#__{vm}_product_category_xref`,`#__{vm}_shopper_group`,`#__{vm}_product_mf_xref`) "; 
 	 	 $count  = "SELECT $count_name FROM (`#__{vm}_product`, `#__{vm}_category`, `#__{vm}_product_category_xref`,`#__{vm}_shopper_group`,`#__{vm}_product_mf_xref`) "; 
 	 }

mais ou menos na linha 208 este:
if ($manufacturer_id) { 
 	 	 $q  .= "\n AND `#__{vm}_product_mf_xref`.manufacturer_id='".$manufacturer_id."' AND #__{vm}_product_mf_xref.product_id=#__{vm}_product.product_id "; 
 	 }

Mas reparei que não está filtrando nada...!!! =/

Please Entrar ou Registrar to join the conversation.

  • michelediehl
  • Avatar de michelediehl Autor do Tópico
  • Offline
  • JCB! Colaborador
  • JCB! Colaborador
Mais
13 anos 9 meses atrás #61903 por michelediehl
michelediehl replied the topic: Re: [Resolvido} Listar produto por fabricantes No VirtueMart ??
Pessoal..agora sim deu certo !!!
Vou mandar passo a passo como fiz !!

Abra o arquivo:
components/com_virtuemart/themes/seu tema/templates/browse/includes/browse_orderbyform.tpl.php.

logo após o primeiro <form.....></form> inserir:

<?php
$query = "SELECT distinct a.manufacturer_id,a.mf_name FROM #__{vm}_manufacturer AS a ";
if (!empty( $category_id ) ) {
$query .= ", #__{vm}_product_category_xref AS d, "
. " #__{vm}_product AS b, "
. " #__{vm}_product_mf_xref AS c "
. " WHERE d.category_id='$category_id'"
. " AND d.product_id = b.product_id "
. " AND b.product_id = c.product_id AND c.manufacturer_id = a.manufacturer_id ";
}
$query .= "ORDER BY mf_name ASC";
$db = new ps_DB;
$db->query( $query );
$res = $db->record;
?>
<select class="inputbox" name="manufacturer_id" onchange="order.submit()">
<option value=""><?php echo $VM_LANG->_('PHPSHOP_SELECT') ?></option>
<?php
foreach ($res as $manufacturer) {
$selected = '';
if( @$_REQUEST == $manufacturer->manufacturer_id ) {
$selected = 'selected="selected"';
}
echo "<option value=\"".$manufacturer->manufacturer_id ."\" $selected>". $manufacturer->mf_name ."</option>\n";
}
?>
</select>

Depois eliminar esta linha:

<input type="hidden" name="manufacturer_id" value="<?php echo $manufacturer_id ?>" />
Ela fica mais ou menos na linha 55...

Depois abrir administrator/components/com_virtuemart/html/shop_browse_queries.php
Mais ou menos na linha 72 vai ter essa linha

} elseif( empty( $keyword ) && empty( $manufacturer_id )) {

vc vai deixar ela assim:

} elseif( empty( $keyword ) ) {

Pronto..já é pra estar funcionando !!! =)

Esse foi o link que utilizei pra fazer, tem um vídeo pra entender melhor..
http://www.webempresa.com/blog/item/763 ... t=FaceBook

Please Entrar ou Registrar to join the conversation.