Jump to content

Recommended Posts

Hola!

 

Soy nuevo en la comunidad Prestashop,el caso es que tengo un problema con mi tienda.

 

Tengo creadas varias categorias en mi pagina,como pueden ver en la imagen.

 

 

http://dl.dropbox.com/u/2190833/Captura%20de%20pantalla%202012-03-11%20a%20la%28s%29%2018.53.08.png

 

El problema que tengo es que quiero cambiar para que la pagina de inicio sea la seccion Showroom y no la de Tienda Online que es la que aparece por defecto,como puedo hacer eso?,he mirado muchisimo en modulos y tal pero no encuentro la opción.

 

muchas gracias.

Link to comment
Share on other sites

 

 

Esta es.me gustaría que la pagina de inicio fuera la pestaña Showroom,y no Tienda Online como pasa por defecto,alguna idea?

 

Gracias!

Ok haber si entendí bien, quieres que en tu pagina de inicio se muestren los productos de una categoría?, si es asi puedes usar el modulo homefeatured viene por defecto con prestashop, todo lo que deberás hacer es editar todos los productos que tengas en esa categoría y tildar en home, si son muchos puedes editar un poco el homefeatured.tpl que esta dentro de la carpeta del modulo y cambiar la categoría 1 por el id de tu categoría showroom, además si quieres que no aparesca la columna izquierda y derecha, puedes editar el archivo global.css, esta dentro de la carpeta css del tema que estas usando, busca las líneas de home, left_colum y right_colum al inicio, y escribe display:none; en left... Y en right....

Link to comment
Share on other sites

He abierto el archivo homefeature.tpl y me aparece esto:

 

 

{*

* 2007-2011 PrestaShop

*

* NOTICE OF LICENSE

*

* This source file is subject to the Academic Free License (AFL 3.0)

* that is bundled with this package in the file LICENSE.txt.

* It is also available through the world-wide-web at this URL:

* http://opensource.org/licenses/afl-3.0.php

* If you did not receive a copy of the license and are unable to

* obtain it through the world-wide-web, please send an email

* to [email protected] so we can send you a copy immediately.

*

* DISCLAIMER

*

* Do not edit or add to this file if you wish to upgrade PrestaShop to newer

* versions in the future. If you wish to customize PrestaShop for your

* needs please refer to http://www.prestashop.com for more information.

*

* @author PrestaShop SA <[email protected]>

* @copyright 2007-2011 PrestaShop SA

* @version Release: $Revision: 6594 $

* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)

* International Registered Trademark & Property of PrestaShop SA

*}

 

<!-- MODULE Home Featured Products -->

<div id="featured-products_block_center" class="block products_block">

<h4>{l s='Featured products' mod='homefeatured'}</h4>

{if isset($products) AND $products}

<div class="block_content">

{assign var='liHeight' value=342}

{assign var='nbItemsPerLine' value=4}

{assign var='nbLi' value=$products|@count}

{math equation="nbLi/nbItemsPerLine" nbLi=$nbLi nbItemsPerLine=$nbItemsPerLine assign=nbLines}

{math equation="nbLines*liHeight" nbLines=$nbLines|ceil liHeight=$liHeight assign=ulHeight}

<ul style="height:{$ulHeight}px;">

{foreach from=$products item=product name=homeFeaturedProducts}

<li class="ajax_block_product {if $smarty.foreach.homeFeaturedProducts.first}first_item{elseif $smarty.foreach.homeFeaturedProducts.last}last_item{else}item{/if} {if $smarty.foreach.homeFeaturedProducts.iteration%$nbItemsPerLine == 0}last_item_of_line{elseif $smarty.foreach.homeFeaturedProducts.iteration%$nbItemsPerLine == 1}clear{/if} {if $smarty.foreach.homeFeaturedProducts.iteration > ($smarty.foreach.homeFeaturedProducts.total - ($smarty.foreach.homeFeaturedProducts.total % $nbItemsPerLine))}last_line{/if}">

<h5><a href="{$product.link}" title="{$product.name|truncate:32:'...'|escape:'htmlall':'UTF-8'}">{$product.name|truncate:27:'...'|escape:'htmlall':'UTF-8'}</a></h5>

<div class="product_desc"><a href="{$product.link}" title="{l s='More' mod='homefeatured'}">{$product.description_short|strip_tags|truncate:130:'...'}</a></div>

<a href="{$product.link}" title="{$product.name|escape:html:'UTF-8'}" class="product_image"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home')}" height="{$homeSize.height}" width="{$homeSize.width}" alt="{$product.name|escape:html:'UTF-8'}" /></a>

<div>

{if $product.show_price AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE}<p class="price_container"><span class="price">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span></p>{else}<div style="height:21px;"></div>{/if}

<a class="button" href="{$product.link}" title="{l s='View' mod='homefeatured'}">{l s='View' mod='homefeatured'}</a>

{if ($product.id_product_attribute == 0 OR (isset($add_prod_display) AND ($add_prod_display == 1))) AND $product.available_for_order AND !isset($restricted_country_mode) AND $product.minimal_quantity == 1 AND $product.customizable != 2 AND !$PS_CATALOG_MODE}

{if ($product.quantity > 0 OR $product.allow_oosp)}

<a class="exclusive ajax_add_to_cart_button" rel="ajax_id_product_{$product.id_product}" href="{$link->getPageLink('cart.php')}?qty=1&id_product={$product.id_product}&token={$static_token}&add" title="{l s='Add to cart' mod='homefeatured'}">{l s='Add to cart' mod='homefeatured'}</a>

{else}

<span class="exclusive">{l s='Add to cart' mod='homefeatured'}</span>

{/if}

{else}

<div style="height:23px;"></div>

{/if}

</div>

</li>

{/foreach}

</ul>

</div>

{else}

<p>{l s='No featured products' mod='homefeatured'}</p>

{/if}

</div>

<!-- /MODULE Home Featured Products -->

 

 

 

 

en que linea modifico la categoria?

 

Gracias,soy nuevo en Prestashop y me lio un poco.

Link to comment
Share on other sites

<?php

/*

* 2007-2011 PrestaShop

*

* NOTICE OF LICENSE

*

* This source file is subject to the Academic Free License (AFL 3.0)

* that is bundled with this package in the file LICENSE.txt.

* It is also available through the world-wide-web at this URL:

* http://opensource.org/licenses/afl-3.0.php

* If you did not receive a copy of the license and are unable to

* obtain it through the world-wide-web, please send an email

* to [email protected] so we can send you a copy immediately.

*

* DISCLAIMER

*

* Do not edit or add to this file if you wish to upgrade PrestaShop to newer

* versions in the future. If you wish to customize PrestaShop for your

* needs please refer to http://www.prestashop.com for more information.

*

* @author PrestaShop SA <[email protected]>

* @copyright 2007-2011 PrestaShop SA

* @version Release: $Revision: 8783 $

* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)

* International Registered Trademark & Property of PrestaShop SA

*/

 

if (!defined('_PS_VERSION_'))

exit;

 

class HomeFeatured extends Module

{

private $_html = '';

private $_postErrors = array();

 

function __construct()

{

$this->name = 'homefeatured';

$this->tab = 'front_office_features';

$this->version = '0.9';

$this->author = 'PrestaShop';

$this->need_instance = 0;

 

parent::__construct();

 

$this->displayName = $this->l('Featured Products on the homepage');

$this->description = $this->l('Displays Featured Products in the middle of your homepage.');

}

 

function install()

{

if (!Configuration::updateValue('HOME_FEATURED_NBR', 8) OR !parent::install() OR !$this->registerHook('home'))

return false;

return true;

}

 

public function getContent()

{

$output = '<h2>'.$this->displayName.'</h2>';

if (Tools::isSubmit('submitHomeFeatured'))

{

$nbr = (int)(Tools::getValue('nbr'));

if (!$nbr OR $nbr <= 0 OR !Validate::isInt($nbr))

$errors[] = $this->l('Invalid number of products');

else

Configuration::updateValue('HOME_FEATURED_NBR', (int)($nbr));

if (isset($errors) AND sizeof($errors))

$output .= $this->displayError(implode('<br />', $errors));

else

$output .= $this->displayConfirmation($this->l('Settings updated'));

}

return $output.$this->displayForm();

}

 

public function displayForm()

{

$output = '

<form action="'.Tools::safeOutput($_SERVER['REQUEST_URI']).'" method="post">

<fieldset><legend><img src="'.$this->_path.'logo.gif" alt="" title="" />'.$this->l('Settings').'</legend>

<p>'.$this->l('In order to add products to your homepage, just add them to the "home" category.').'</p><br />

<label>'.$this->l('Number of products displayed').'</label>

<div class="margin-form">

<input type="text" size="5" name="nbr" value="'.Tools::safeOutput(Tools::getValue('nbr', (int)(Configuration::get('HOME_FEATURED_NBR')))).'" />

<p class="clear">'.$this->l('The number of products displayed on homepage (default: 10).').'</p>

 

</div>

<center><input type="submit" name="submitHomeFeatured" value="'.$this->l('Save').'" class="button" /></center>

</fieldset>

</form>';

return $output;

}

 

function hookHome($params)

{

global $smarty;

 

$category = new Category(1, Configuration::get('PS_LANG_DEFAULT'));

$nb = (int)(Configuration::get('HOME_FEATURED_NBR'));

$products = $category->getProducts((int)($params['cookie']->id_lang), 1, ($nb ? $nb : 10));

$smarty->assign(array(

'products' => $products,

'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),

'homeSize' => Image::getSize('home')));

 

return $this->display(__FILE__, 'homefeatured.tpl');

}

}

 

 

 

 

Esto es,muchas gracias!

Link to comment
Share on other sites

Casi lo tengo,el problema es que lo que carga primero es el index.php,como se puede ver en esta primera imagen.

 

Osea que carga esta ruta por defecto:

 

http://localhost/Prestashop/prestashop/index.php

 

Cuando lo que necesito que cargue es esta ruta nada mas inicio la pagina:

 

http://localhost/Prestashop/prestashop/category.php?id_category=1

 

 

En el PHP,en la linea que me has dicho ya tiene definido la categoria 1 por defecto,pero al iniciar la pagina me carga el index.php y no la categoria que deseo.

 

Alguna idea?

 

Gracias.

post-337921-0-72390400-1332242374_thumb.png

post-337921-366352_thumb.png

Link to comment
Share on other sites

Hola Kapranos, lo que tu necesitas entrar es por una url concreta.

Eso es muy fácil de hacer a través del archivo .htaccess, aquí tienes información de este archivo:

http://www.superhosting.cl/faqs/tutorial-.htacess.html

 

si por ejemplo, necesitas entrar por una categoría en concreto, la categoría 9, en el .htaccess, tendrias que poner esto:

DirectoryIndex /category.php?id_category=9

 

ya contarás si te ha ido bien!

Link to comment
Share on other sites

Pues como te dije antes, todo es posible solo que ahora si que no entiendo cual es tu problema jejeje

 

Quizás no me explique muy bien jeje.

 

Solo quiero que cando arranque por defecto,la pagina de inicio sea este enlace de la tienda.

 

http://localhost/Prestashop/prestashop/category.php?id_category=1

 

y no la pagina por defecto :

 

http://localhost/Prestashop/prestashop/index.php

 

 

Eso se puede hacer modificando el .htaccess?

 

Gracias!

Link to comment
Share on other sites

hola de nuevo, como te decía más arriba, sí, si que puedes hacerlo a través de .htaccess

pero veo que tienes la tienda en local, intentas enviar urls para que veamos la tienda pero es tu localhost, el .htaccess sólamente te funcionará cuando tengas la tienda subida a un servidor

 

en tu caso, tienes que poner en el .htaccess:

 

DirectoryIndex /category.php?id_category=1

 

y ya te irá directamente a la categoría 1

 

eso si, recuerda que sólamente te funcionará cuando hayas subido tu tienda al servidor.

 

un saludo!

Link to comment
Share on other sites

Ya ya,lo de los links era solo para que tuvierais una idea de lo que quiero lograr.

 

Entonces el tema de htaccess solo lo puedo probar una vez tenga la web subida?,no puedo realizar la prueba en local?

 

Y en que ruta está ese archivo htaccess?,perdona pero soy muy nuevo en esto del Prestashop,por eso agradezco sobremanera su ayuda.

 

Un saludo.

Link to comment
Share on other sites

el archivo .htaccess lo crea automáticamente la tienda, no lo puedes crear tu, o si lo creas, faltará la información que necesita la tienda para funcionar y no te irá.

por lo tanto, si ya tienes la web en el servidor y te funciona, regenera el .htaccess, y lo podrás ver en la raiz, a la altura del index.php

para regenerarlo, tienes que ir a: Herramientas --> Generadores, y aquí regenerar el .htaccess con los parámetros que tu le quieras poner, e incluye el DirectoryIndex que te comento yo más arriba

Link to comment
Share on other sites

el archivo .htaccess lo crea automáticamente la tienda, no lo puedes crear tu, o si lo creas, faltará la información que necesita la tienda para funcionar y no te irá.

por lo tanto, si ya tienes la web en el servidor y te funciona, regenera el .htaccess, y lo podrás ver en la raiz, a la altura del index.php

para regenerarlo, tienes que ir a: Herramientas --> Generadores, y aquí regenerar el .htaccess con los parámetros que tu le quieras poner, e incluye el DirectoryIndex que te comento yo más arriba

 

 

Muchisimas gracias,sois unos cracks,siempre eficientes en vuestras respuestas y me habeis ayudado muchísimo.

 

He añadido la linea al .htaccess y todo perfecto,arranca la web en esa parte.

El problema está ahora que cuando le doy a la parte de Showroom (que deberia ir al index.php) me vuelve siempre a la categoría que hemos fijado de inicio (sic jaja)

 

Alguna idea del por qúe?

 

Gracias!

Link to comment
Share on other sites

  • 2 weeks later...

Muchisimas gracias,sois unos cracks,siempre eficientes en vuestras respuestas y me habeis ayudado muchísimo.

 

He añadido la linea al .htaccess y todo perfecto,arranca la web en esa parte.

El problema está ahora que cuando le doy a la parte de Showroom (que deberia ir al index.php) me vuelve siempre a la categoría que hemos fijado de inicio (sic jaja)

 

Alguna idea del por qúe?

 

Gracias!

 

Vamos a ver, supongo que has hecho un DirectoryIndex como te han indicado. Si has hecho eso, entiendo, que no has comprendido qué hace esa orden, de lo contrario no tendrías dicho problema.

 

Primero, te recomiendo leer: http://www.htaccess-...toryindex-uses/

 

En otras palabras, lo que hace DirectoryIndex es redireccionar al fichero especificado cuando accedes al directorio. Ejemplo:

 

tenemos un directorio directorio en dominio.com con los siguientes ficheros:

- file1.htm

- file2.htm

- index.htm

- file1.php

- .htaccess (donde tienes la directiva DirectoryIndex configurada)

 

Si haces un DirectoryIndex file1.php, cada vez que haya un enlace a la carpeta directorio (p.e. dominio.com/directorio/) cargará la url dominio.com/directorio/file1.php.

 

Entonces, suponiendo que file1.php es /category.php?id_category=1 e index.htm es tu enlace a showroom, lo que probablemente esté ocurriendo es que cuando pinchas en showroom hay un enlace al directorio (y en consecuencia a la tienda online) y no a un fichero concreto.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...