Post by fragantes » Sun Apr 13, 2014 3:46 am

Duda 1:
Hola, tengo una duda, lo que pasa es que tengo 3 proveedores diferentes, lo cuales tendre cierta cantidad de productos en stock y otros mis proveedores, quisiera que en el momento que el cliente entre al proceso de pago ya sea paypal/pagosonline, No se le descuente el dinero, solo realice la orden, una vez hecha la orden me llegue a mi, yo confirmo con mi proveedor si tiene el producto disponible, si lo tiene, yo le enviaría un correo al comprador confirmando el pedido, para que ahora si pase a realizar el pago? hay alguna forma de asimilar esto?

Duda 2:
Quisiera que en la lista de pedidos, aparezca una columna que diga el proveedor que contiene este producto...para así llamar al proveedor y confirmar el pedido... pienso que habria que modificar archivos de catalog/product/insert...
y el tpl de pedidos... para agregar la columna, habria alguna forma para esto? es como agregar un campo de más al lugar donde se crea el producto, pero que ese campo, tenga visibilidad solamente dentro de la zona administrativa, y que no se vea en la tienda el nombre del proveedor, habla alguna forma? espero respuestas gracias....

New member

Posts

Joined
Wed Mar 26, 2014 1:06 pm

Post by cofran » Tue Apr 15, 2014 1:01 am

Respondo la 1, lamentablemente no es posible con medios de pagos directo como los que mencionas, si con medios de pagos indirectos como puede ser "cash", "bank", etc. aunque sería un proceso manual más que nada...

Con respecto a la 2 yo pondría a los proveedores dentro del producto en el campo "Location" (arriba del precio esta) que casí nadie lo utiliza y no tendrías que estar modificando y escribiendo código nuevo.

Saludos!

User avatar
Active Member

Posts

Joined
Thu Oct 01, 2009 7:37 am
Location - Córdoba, Argentina

Post by fragantes » Tue Apr 15, 2014 1:40 am

cofran wrote:Respondo la 1, lamentablemente no es posible con medios de pagos directo como los que mencionas, si con medios de pagos indirectos como puede ser "cash", "bank", etc. aunque sería un proceso manual más que nada...

Con respecto a la 2 yo pondría a los proveedores dentro del producto en el campo "Location" (arriba del precio esta) que casí nadie lo utiliza y no tendrías que estar modificando y escribiendo código nuevo.

Saludos!
Hola cofran, con respecto al campo de localización, que función tendría y que efecto? pues tengo entendido que es para limitar la zona del pedido, dependiendo al país, o ciudad?? desconozco la función total de location... y como hago para cambiarle el nombre de location por proveedores...


con respecto a este asunto, cree un vqmod para esto, basandome en otro vqmod, el codigo es el siguiente:

Code: Select all

<modification>
	<id>Product New Fields Info</id>
	<version>1.0</version>
	<vqmver>2.4.1</vqmver>
	<author>Andrés</author>
	<file name="admin/model/catalog/product.php">
	<operation error="skip">
		<search position="replace" index="1"><![CDATA[sku = '" . $this->db->escape($data['sku']) . "',]]></search>
		<add><![CDATA[sku = '" . $this->db->escape($data['sku']) . "', entry_newfield1 = '" . $this->db->escape($data['entry_newfield1']) . "', newfield1 = '" . $this->db->escape($data['newfield1']) . "', entry_newfield2 = '" . $this->db->escape($data['entry_newfield2']) . "', newfield2 = '" . $this->db->escape($data['newfield2']) . "', entry_newfield3 = '" . $this->db->escape($data['entry_newfield3']) . "', newfield3 = '" . $this->db->escape($data['newfield3']) . "', ]]></add>
	</operation>
	<operation error="skip">
		<search position="replace" index="2"><![CDATA[sku = '" . $this->db->escape($data['sku']) . "',]]></search>
		<add><![CDATA[sku = '" . $this->db->escape($data['sku']) . "', entry_newfield1 = '" . $this->db->escape($data['entry_newfield1']) . "', newfield1 = '" . $this->db->escape($data['newfield1']) . "', entry_newfield2 = '" . $this->db->escape($data['entry_newfield2']) . "', newfield2 = '" . $this->db->escape($data['newfield2']) . "', entry_newfield3 = '" . $this->db->escape($data['entry_newfield3']) . "', newfield3 = '" . $this->db->escape($data['newfield3']) . "', ]]></add>
	</operation>
	<operation>
		<search position="after" index="1" error="skip"><![CDATA[public function getProducts($data = array()) {]]></search>
		<add><![CDATA[$exist = $this->db->query("SHOW COLUMNS FROM `" . DB_PREFIX . "product` WHERE Field = 'entry_newfield1'");
		if (count($exist->row) == 0) {
		$this->db->query("ALTER TABLE `" . DB_PREFIX . "product` 
		ADD COLUMN `entry_newfield1` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
		ADD COLUMN `newfield1` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
		ADD COLUMN `entry_newfield2` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
		ADD COLUMN `newfield2` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
		ADD COLUMN `entry_newfield3` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,
		ADD COLUMN `newfield3` VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL
		");
		}]]></add>
	</operation>
	</file>
	<file name="admin/controller/catalog/product.php">
	<operation error="skip">
		<search position="after" offset="1"><![CDATA[$this->data['sku'] = '';]]></search>
		<add><![CDATA[
		if (isset($this->request->post['entry_newfield1'])) {
      		$this->data['entry_newfield1'] = $this->request->post['entry_newfield1'];
    	} elseif (!empty($product_info)) {
			$this->data['entry_newfield1'] = $product_info['entry_newfield1'];
		} else {
      		$this->data['entry_newfield1'] = '';
    	}
		if (isset($this->request->post['newfield1'])) {
      		$this->data['newfield1'] = $this->request->post['newfield1'];
    	} elseif (!empty($product_info)) {
			$this->data['newfield1'] = $product_info['newfield1'];
		} else {
      		$this->data['newfield1'] = '';
    	}
		if (isset($this->request->post['entry_newfield2'])) {
      		$this->data['entry_newfield2'] = $this->request->post['entry_newfield2'];
    	} elseif (!empty($product_info)) {
			$this->data['entry_newfield2'] = $product_info['entry_newfield2'];
		} else {
      		$this->data['entry_newfield2'] = '';
    	}
		if (isset($this->request->post['newfield2'])) {
      		$this->data['newfield2'] = $this->request->post['newfield2'];
    	} elseif (!empty($product_info)) {
			$this->data['newfield2'] = $product_info['newfield2'];
		} else {
      		$this->data['newfield2'] = '';
    	}
		if (isset($this->request->post['entry_newfield3'])) {
      		$this->data['entry_newfield3'] = $this->request->post['entry_newfield3'];
    	} elseif (!empty($product_info)) {
			$this->data['entry_newfield3'] = $product_info['entry_newfield3'];
		} else {
      		$this->data['entry_newfield3'] = '';
    	}
		if (isset($this->request->post['newfield3'])) {
      		$this->data['newfield3'] = $this->request->post['newfield3'];
    	} elseif (!empty($product_info)) {
			$this->data['newfield3'] = $product_info['newfield3'];
		} else {
      		$this->data['newfield3'] = '';
    	}
		]]></add>
	</operation>
	</file>
	<file name="admin/view/template/catalog/product_form.tpl">
	<operation error="skip">
		<search position="after" offset="1"><![CDATA[<td><input type="text" name="sku" value="<?php echo $sku; ?>" /></td>]]></search>
		<add><![CDATA[
		<tr>
              <td><input type="text" name="entry_newfield1" value="<?php echo $entry_newfield1; ?>" /><br /><span class="help">Info Detalle</span></td>
              <td><input type="text" name="newfield1" value="<?php echo $newfield1; ?>" /></td>
            </tr>
            <tr>
              <td><input type="text" name="entry_newfield2" value="<?php echo $entry_newfield2; ?>" /><br /><span class="help">Info Detalle</span></td>
              <td><input type="text" name="newfield2" value="<?php echo $newfield2; ?>" /></td>
            </tr>
            <tr>
			  <td><?php echo "Proveedor"; ?></td>
              <td><input type="text" name="newfield3" value="<?php echo $newfield3; ?>" /></td>
            </tr>
		]]></add>
	</operation>
	</file>	
	<file name="catalog/model/catalog/product.php">
    <operation>
        <search position="after">
          	<![CDATA['viewed'           => $query->row['viewed']]]>
            </search>
        <add><![CDATA[
		, 'entry_newfield1'           => $query->row['entry_newfield1'],
		'newfield1'           => $query->row['newfield1'],
		'entry_newfield2'           => $query->row['entry_newfield2'],
		'newfield2'           => $query->row['newfield2'],
		'entry_newfield3'           => $query->row['entry_newfield3'],
		'newfield3'           => $query->row['newfield3']
		]]></add>
        </operation>       
	</file>
	<file name="catalog/controller/product/product.php">
    <operation>
        <search position="after">
          	<![CDATA[$this->data['reward'] = $product_info['reward'];]]>
            </search>
        <add><![CDATA[
		$this->data['entry_newfield1'] = $product_info['entry_newfield1'];
		$this->data['newfield1'] = $product_info['newfield1'];
		$this->data['entry_newfield2'] = $product_info['entry_newfield2'];
		$this->data['newfield2'] = $product_info['newfield2'];
		$this->data['entry_newfield3'] = $product_info['entry_newfield3'];
		$this->data['newfield3'] = $product_info['newfield3'];
		]]></add>
        </operation>       
	</file>
	<file name="/catalog/view/theme/Tecno/template/product/product.tpl">
	   <operation error="skip">
            <search position="before">
            <![CDATA[<?php if ($reward) { ?>]]>
            </search>
            <add><![CDATA[
			<?php if ($newfield1) { ?><span><?php echo $entry_newfield1; ?>:</span> <?php echo $newfield1; ?><br /><?php } ?>
			<?php if ($newfield2) { ?><span><?php echo $entry_newfield2; ?>:</span> <?php echo $newfield2; ?><br /><?php } ?>
			]]>
            </add>
       </operation>       
	</file>
</modification>
El codigo me funciona y me guarda el nombre del proveedor, pero al momento de guardar me manda un error que no me debe mandar...
el error que me manda al momento de guardar el producto es el siguiente:

Code: Select all

Notice: Undefined index: entry_newfield3 in /hermes/bosoraweb148/b2055/dom.comprasitcom1/public_html/shopping/vqmod/vqcache/vq2-admin_model_catalog_product.php on line 12Warning: Cannot modify header information - headers already sent by (output started at /hermes/bosoraweb148/b2055/dom.comprasitcom1/public_html/shopping/admin/index.php:85) in /hermes/bosoraweb148/b2055/dom.comprasitcom1/public_html/shopping/vqmod/vqcache/vq2-system_engine_controller.php on line 28Warning: Cannot modify header information - headers already sent by (output started at /hermes/bosoraweb148/b2055/dom.comprasitcom1/public_html/shopping/admin/index.php:85) in /hermes/bosoraweb148/b2055/dom.comprasitcom1/public_html/shopping/vqmod/vqcache/vq2-system_engine_controller.php on line 29
Muchas gracias por la ayuda que me has venido brindando y también al foro.

Saludos,

New member

Posts

Joined
Wed Mar 26, 2014 1:06 pm

Post by cofran » Tue Apr 15, 2014 2:52 am

Al nombre cambialo desde el archivo de traducción, creo que esta en admin/language/spanish/catalog/product.php mira si no mal recuerdo el campo location solo es utilizado para saber donde esta el producto, por ejemplo "Almacen A" o "Almacen B" algo así se utiliza y es más informativo que otra cosa, no tiene ningún tipo de vinculo con las zonas o las geo zonas, nada que ver. Me aparece que antes de tanto lío con el vqmod yo utilizaría este campo para los proveedores.

Saludos!

User avatar
Active Member

Posts

Joined
Thu Oct 01, 2009 7:37 am
Location - Córdoba, Argentina
Who is online

Users browsing this forum: No registered users and 2 guests