Comunidad de diseño web y desarrollo en internet online

Joomla+Virtuemart+Artisteer

Citar            
MensajeEscrito el 16 Feb 2011 06:06 pm
Buenas soy diseñador web tengo muy buenos conocimientos de CSS y HTML photoshop y corel pero donde estoy flojo es en php, el problema es q estoy haciendo el diseño en artisteer lo modifico ami manera pero el problema esta cuando tengo q ir a los ficheros php, artisteer genera una serie de botones q joomla los pone en ciertos lugares determinados y viertuemart tambien pero ahra yo quiero generar un boton debajo de donde salen los productos en la opcion q dice comprar pero no entiendo lo del codigo php y cuando intento hacerle modificiaciones pues no sale nada, alguien se ha tropezado con este problema y tiene alguna solucion de como hacerlo o sea poner un boton de artisteer q salen en los formularios de login y ponerlos en donde dice comprar o agregar al carrito quiero hacerlo con un boton. y por favor si tienen buenos cursos de PHP haganmelos llegar quiero ponerme de alleno para PHP q es el complemento q me falta.

PD: muy buen forum se manejan bien las cosas aqui.

Por clust3r

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Feb 2011 10:23 pm
Hola Clut3r,
En principio deberías encontrar lo siguiente dentro del directorio de components/com_virtuemart/themes/default/templates/browse/includes/addtocart_form.tpl.php (este directorio para el caso de la parte de vist de categoría) y agregarle la clase al botón. Te recomiendo fuertemente que hagas una copia de seguridad del archivo previamente porque con php una coma de mas, un espacio de menos resulta en fatal error.

Debería quedarte así:

<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
mm_showMyFileName(__FILE__);

$button_lbl = $VM_LANG->_('PHPSHOP_CART_ADD_TO');
$button_cls = 'art-button';
if( CHECK_STOCK == '1' && !$product_in_stock ) {
$button_lbl = $VM_LANG->_('VM_CART_NOTIFY');
$button_cls = 'art-button';
$notify = true;
} else {
$notify = false;
}
?>

<form action="<?php echo $mm_action_url ?>index.php" method="post" name="addtocart" id="addtocart<?php echo $i ?>" class="addtocart_form" <?php if( $this->get_cfg( 'useAjaxCartActions', 1 ) && !$notify ) { echo 'onsubmit="handleAddToCart( this.id );return false;"'; } ?>>
<?php echo $ps_product_attribute->show_quantity_box($product_id,$product_id); ?><br />
<span class="art-button-wrapper">
<span class="l"> </span>
<span class="r"> </span>
<input type="submit" class="<?php echo $button_cls ?>" value="<?php echo $button_lbl ?>" title="<?php echo $button_lbl ?>" />
<input type="hidden" name="category_id" value="<?php echo @$_REQUEST['category_id'] ?>" />
<input type="hidden" name="product_id" value="<?php echo $product_id ?>" />
<input type="hidden" name="prod_id[]" value="<?php echo $product_id ?>" />
<input type="hidden" name="page" value="shop.cart" />
<input type="hidden" name="func" value="cartadd" />
<input type="hidden" name="Itemid" value="<?php echo $sess->getShopItemid() ?>" />
<input type="hidden" name="option" value="com_virtuemart" />
<input type="hidden" name="set_price[]" value="" />
<input type="hidden" name="adjust_price[]" value="" />
<input type="hidden" name="master_product[]" value="" />
</form>
</span>

Para el caso de la vista detallada del producto, tenés que encontrar components/com_virtuemart/themes/default/templates/product_details/includes/addtocart_form.tpl.php

y que te quede así:
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' ); ?>

<div class="vmCartContainer">

<?php
mm_showMyFileName(__FILE__);
// This function lists all product children ( = Items)
// or, when not children are defined, the product_id
// SO LEAVE THIS IN HERE!
list($html,$children) = $ps_product_attribute->list_attribute( ( $product_parent_id > 0 ) ? $product_parent_id : $product_id );

if ($children != "multi") {

if( CHECK_STOCK == '1' && !$product_in_stock ) {
$notify = true;
} else {
$notify = false;
}

?>
<form action="<?php echo $mm_action_url ?>index.php" method="post" name="addtocart" id="<?php echo uniqid('addtocart_') ?>" class="addtocart_form" <?php if( $this->get_cfg( 'useAjaxCartActions', 1 ) && !$notify ) { echo 'onsubmit="handleAddToCart( this.id );return false;"'; } ?>>

<?php
}
echo $html;

if (USE_AS_CATALOGUE != '1' && $product_price != "" && !stristr( $product_price, $VM_LANG->_('PHPSHOP_PRODUCT_CALL') )) {
?>
<?php if ($children != "multi") { ?>
<div style="float: right;vertical-align: middle;"> <?php
if ($children == "drop") {
echo $ps_product_attribute->show_quantity_box($product_id,$product_id);
}
if ($children == "radio") {
echo $ps_product_attribute->show_radio_quantity_box();
}
$button_lbl = $VM_LANG->_('PHPSHOP_CART_ADD_TO');
$button_cls = 'art-button';
if( CHECK_STOCK == '1' && !$product_in_stock ) {
$button_lbl = $VM_LANG->_('VM_CART_NOTIFY');
$button_cls = 'art_button';
}
?>
<span class="art-button-wrapper">
<span class="l"> </span>
<span class="r"> </span>
<input type="submit" class="<?php echo $button_cls ?>" value="<?php echo $button_lbl ?>" title="<?php echo $button_lbl ?>" />
</div>
<?php } ?>
<input type="hidden" name="flypage" value="shop.<?php echo $flypage ?>" />
<input type="hidden" name="page" value="shop.cart" />
<input type="hidden" name="manufacturer_id" value="<?php echo $manufacturer_id ?>" />
<input type="hidden" name="category_id" value="<?php echo $category_id ?>" />
<input type="hidden" name="func" value="cartAdd" />
<input type="hidden" name="option" value="<?php echo $option ?>" />
<input type="hidden" name="Itemid" value="<?php echo $Itemid ?>" />
<input type="hidden" name="set_price[]" value="" />
<input type="hidden" name="adjust_price[]" value="" />
<input type="hidden" name="master_product[]" value="" />
<?php
}
if ($children != "multi") { ?>
</form>
<?php
}
if($children == "radio") { ?>

<script language="JavaScript" type="text/javascript">//<![CDATA[
function alterQuantity(myForm) {
for (i=0;i<myForm.selItem.length;i++){
setQuantity = myForm.elements['quantity'];
selected = myForm.elements['selItem'];
j = selected[i].id.substr(7);
k= document.getElementById('quantity' + j);
if (selected[i].checked==true){
k.value = myForm.quantity_adjust.value; }
else {
k.value = 0;
}
}
}
//]]>
</script></span>
<?php } ?>
</div>

Saludos y espero haya servido. Si no, avisá o contactate de otra manera a ver si te puedo ayudar mejor.

Por SuperDWeb

14 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Feb 2011 05:17 pm
Muy buena la explicacion pero ya le halle a poner el boton donde yo quiera, me rompi la cabeza ajajajaj pero bueno lo logre despues recibi el correo de notificacion de respuesta del forum y voy a empezar a ver tu solucion bien muchas gracias por contestarme te dare mi forma de poner un boton de artisteer en cualquier parte dentro de virtuemart q uds quieran.
en este caso en la informacion del producto, en este caso detalle del producto.

Vamos a trabajar con 4 ficheros claves aqui les dejo las rutas dentro de las carpetas joomla virtuemart

\templates\template que esten usando artisteer\css\template.css

Esta es la hoja de estilo principal q genera un proyecto hecho en artister es la que modifica toda la plantilla principal. y va atada al index.php

Para que sirve ?, para modificar los elementos principales de la plantilla, Encabezamiento, contenido y pie de pagina, en ingles seria Header, Content, footer, el tipo de letra, los links etc.

\templates\template que esten usando artisteer\index.php

Este es el codigo HTML encapsulado en PHP donde se van a llamar las instrucciones de CSS para ser visualizadas en la pagina, aqui es donde ven de manera visual las configuraciones en CSS.

\components\com_virtuemart\themes\default\Themes.css

Este fichero jejejej importante es la plantilla de como van a ser visualizados los productos de virtuemart, como quieren q se vean organizados el precio, el nombre del producto, la descripcion corta y en fin es la mnera en q vas a mostrar la informacion de tus productos.

\components\com_virtuemart\themes\default\templates\browse\Browse1.php

Y aqui va el el visualizador del theme.css o sea este tiene el codigo HTML encapsulado en php donde ya visualiza todas las opciones del theme.css pueden usar otros browse q estan q muestran los productos de virtuemart de muchas maneras en modo lista y otros modos o sea escogen el q mas les guste y trabajan sobre el q quieran puede ser browse2.php, browse3.php etc

ojo e importante tienen q configurar el virtuemart para q trabaje con el modo browse1 porque puede q este en manage o browse2 etc y entonces esten haciendo cambios y no vean el resultado de dichos cambios. les dire donde se hace el cambio

van al complemento de virtuemart en la sesion de administracion y van a la opcion admin y ahi despues a la derecha le dan a la pestaña q dice SITIO en donde dice loyout ahi es donde escogen el tipo de layout q quieren si es browse manage o el que quieren siempre recuerden q si escogen otro archivo tienen q trabajar dentro del q escojan.

les recomiendo DreamWeaber cs5 para mi es lo mejor para trabajar pero pueden hacerlo con el q les gusten entonces cargan esos 4 ficheros

Template.css, index.php, theme.css, browse1.php

Para q un boton de artisteer lo pongan en cualquier parte dentro de la informacion de los productos, pues hacen lo siguiente, tienen q adjuntar el template.css al browse1.php porque las configuraciones del boton de artisteer esta en el template.css tiene esta classe
.art-button es importante q lo aten incluso pueden tomar muchos otros elementos y ponerlo en la informacion de los productos.

entonces vamos a escribir este codigo

en el browse1.php

<div class="browseProductDetailsContainer">

<span class="art-button-wrapper">
<span class="art-button-l">
</span><span class="art-button-r"> </span>
<a href="/template q esten usando artisteer/index.php?page=shop.product_details&flypage=flypage-ask.tpl&product_id=9&category_id=1&option=com_virtuemart&Itemid=1" class="button art-button">Details</a></span>


</div>

Eso es para cambiar el link de product details por un boton q diga product details creado en artisteer y ya eso es todo lo demas se los dejo a su imaginacion.

Por clust3r

1 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.