ASI QUEDA:

precisamente es como tu lo pusistes .. y corregi el de cofran para que no te de error...
voy a tener que publicar lso pasos de cofran con mis modificaciones para hacerlo mas entendible..

creo que cofran, y mis modificaciones, y el aporte de ideas y datos de cada uno, hemos hecho una extencion.. jeje
confia que si funciona men..

!
voy a poner otra ves los pasos.. jeje
cofran nos dio la base, nosotros vamso poniendo los bloques, otros el cemento.. etc.. jeje lo bonito de un open es eso.! =)
Pasos: lo que este en rojo son mis modificaciones...
[quote="cofran"] Anda a la base de datos (phpmyadmin por lo general) y agrega un campo nuevo a la tabla "PRODUCT" llamado por ejemplo "preventa" que sea un buleano para luego hacerlo TRUE o FALSE (activo o inactivo) la sentencia del SQL puede ser esta:
[/quote="cofran"]
Code: Select all
ALTER TABLE `product` ADD `preventa` BOOLEAN NOT NULL DEFAULT '0' AFTER `stock_status_id`
Luego vas al archivo ubicado en:
admin/controller/catalog/product.php y buscas la linea 877 aproximadamente que dice:
Code: Select all
if (isset($this->request->post['stock_status_id'])) {
$this->data['stock_status_id'] = $this->request->post['stock_status_id'];
} else if (isset($product_info)) {
$this->data['stock_status_id'] = $product_info['stock_status_id'];
} else {
$this->data['stock_status_id'] = $this->config->get('config_stock_status_id');
}
y debajo de eso agregas:
Code: Select all
if (isset($this->request->post['preventa'])) {
$this->data['preventa'] = $this->request->post['preventa'];
} elseif (isset($product_info)) {
$this->data['preventa'] = $product_info['preventa'];
} else {
$this->data['preventa'] = 0;
}
ahora vas al archivo
admin/model/catalog/product.php y buscas donde dice:
Code: Select all
public function addProduct($data) {
$this->db->query("INSERT INTO " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', db->escape($data['sku']) . "',
el código a insertar sería:
Code: Select all
preventa = '" . (int)$data['preventa'] . "',
te tendría que quedar así:
Code: Select all
public function editProduct($product_id, $data) {
$this->db->query("UPDATE " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', sku = '" . $this->db->escape($data['sku']) . "', preventa = '" . (int)$data['preventa'] . "', upc = '".........................
también busca
(en este mismo archivo) donde dice:
Code: Select all
public function editProduct($product_id, $data) {
$this->db->query("UPDATE " . DB_PREFIX . "product SET model = '" . $this->db->escape($data['model']) . "', sku = '" . $this->db->escape($data['sku']) . "', balblablabla...
y hace lo mismo, agrega lo de la preventa exactamente igual como hiciste en el de arriba.
es decir, pega esto:
Code: Select all
preventa = '" . (int)$data['preventa'] . "',
asi msimo con el espacio y todo donde termina la coma.
Ahora vamos al archivo
admin/view/template/catalog/product_form.tpl y busca la linea 101 aproximadamente que dice:
Code: Select all
<tr>
<td><?php echo $entry_stock_status; ?></td>
<td><select name="stock_status_id">
<?php foreach ($stock_statuses as $stock_status) { ?>
<?php if ($stock_status['stock_status_id'] == $stock_status_id) { ?>
<option value="<?php echo $stock_status['stock_status_id']; ?>" selected="selected"><?php echo $stock_status['name']; ?></option>
<?php } else { ?>
<option value="<?php echo $stock_status['stock_status_id']; ?>"><?php echo $stock_status['name']; ?></option>
<?php } ?>
<?php } ?>
</select></td>
</tr>
y debajo de esta agrega el siguiente código:
Code: Select all
<tr>
<td>Pre-Venta</td>
<td><select name="preventa">
<?php if ($preventa) { ?>
<option value="1" selected="selected"><?php echo $text_yes; ?></option>
<option value="0"><?php echo $text_no; ?></option>
<?php } else { ?>
<option value="1"><?php echo $text_yes; ?></option>
<option value="0" selected="selected"><?php echo $text_no; ?></option>
<?php } ?>
</select></td>
</tr>
////////Bueno ahí ya terminamos con el admin, ahora hay que ir al FRONT del sitio a seguir modificando...///
1ro)Lo sencillo Definimos el mensaje que queremos que se vea... nos vamos a
catalog/lenguage/ TU IDIOMA/product/product.php Code: Select all
$_['text_preventa'] = '[En Pre-venta]';
pegamos esto debajo de cualquier linea..(ponla en algun lugar ordenadamente osea que tenga referencia.. )
2do) Anda al archivo
catalog/controller/product/product.php y busca la linea 185 aproximadamente que dice:
paga,
esto es mi modificacion para que salga en ves del estado como tal, un letrero, como tu dices spirit, lo cual es lo ideal.
Code: Select all
if ($product_info['quantity'] <= 0) {
$this->data['stock'] = $product_info['stock_status'];
} elseif ($this->config->get('config_stock_display')) {
$this->data['stock'] = $product_info['quantity'];
} else {
$this->data['stock'] = $this->language->get('text_instock');
}
y debajo de esto agrega lo siguiente:
Code: Select all
if ($product_info['preventa'] == 1 && $product_info['quantity'] >= 1) {
$this->data['preventa'] = $this->language->get('text_preventa');
}else {
$this->data['preventa'] = '';
}
Nota: si no funciona, proba modificando
$product_info['preventa'] === TRUE por
$product_info['preventa'] == 1 sin eliminar el resto de código!!!!
3ro) Anda al archivo
catalog/model/catalog/product.php y busca la linea 27 que dice:
Code: Select all
'stock_status' => $query->row['stock_status'],
y debajo de esta agrega:
Code: Select all
'preventa' => $query->row['preventa'],
Finalmente: Ve a view/theme/tu_tema/template/product/product.tpl
y hay mismo hay una etiqueta div con una class="description" esas son las capitas... agrega una nueva debajo de la ultima.. pega este codigo..
Code: Select all
<br />
<span><b><font color="#FF0000"><?php echo $preventa; ?></font></b><span>
te tiene que quedar asi:
Code: Select all
<div class="description">
<?php if ($manufacturer) { ?>
<span><?php echo $text_manufacturer; ?></span> <a href="<?php echo $manufacturers; ?>"><?php echo $manufacturer; ?></a><br />
<?php } ?>
<span><?php echo $text_model; ?></span> <?php echo $model; ?><br />
<span><?php echo $text_reward; ?></span> <?php echo $reward; ?><br />
<span><?php echo $text_stock; ?></span> <?php echo $stock; ?>[b]<br />
<span><b><font color="#FF0000"><?php echo $preventa; ?></font></b><span>[/b]</div>
<?php if ($price) { ?>
NOTA: Puedes pegar eso en la parte que quieras que se vea el aviso incluso en el titulo! =) !
Listo!!! uff me costo..! jeje.. e añadido las lenguas para irlo convirtiendo en una extencion.. y bueno agregarle el campo fecha y eso pero eso lo hago el martes o algo, si nadie mas lo a echo para q empiese la preventa esa fecha.! =D!
1ro.Creacion de colunna en tabla product
2do:Modificaciones:
-Modificacion de archivos modificados parte admin:
--admin/
view/template/product_form.tpl
--admin/
controller/catalog/product.php
--admin/
model/catalog/product.php
-Modificacion archivos parte usuario:
--catalog/
controller/product/product.php
--catalog/
model/catalog/product.php
--catalog/
lenguaje/spanish/product/product.php
-- catalog/
view/theme/default/template/product/product.tpl