Página 1 de 1

[Help][Vqmod] Prazo adicional para produtos sem estoque

Enviado: 15 Mar 2013, 08:52
por maxtk
Bom dia! Estou com alguns problemas na minha função de prazo adicional, pois ela esta somando o prazo adicional até em pedidos que o estoque é maior que 0. Sendo que o prazo adicional somente deveria ser embutido no prazo de frete quando o estoque do produto fosse igual ou menor que zero.

Foi o Manoel Vidal quem desenvolveu esta função, mas como estou à alguns dias sem conseguir contato, resolvi recorrer ao fórum para ver se alguém pode me ajudar. Desde já obrigado!
Código: Selecionar todos
<modification>
	<id>Inclui o campo prazo adicional no cadstro do fabricante e utiliza este prazo adicioanl para os produtos sem estoque.</id>
	<version>1.0</version>
	<vqmver>2.1.7</vqmver>
	<author>Manoel Vidal (manoel.vidal@opencartbrasil.com.br)</author>

	<file name="admin/model/catalog/manufacturer.php">
		<operation>
			<search position="after"><![CDATA[$manufacturer_id = $this->db->getLastId();]]></search>
			<add><![CDATA[
			$this->db->query("UPDATE " . DB_PREFIX . "manufacturer SET additional = '" . $this->db->escape($data['additional']) . "' WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");
			]]></add>
		</operation>
		<operation>
			<search position="after"><![CDATA[public function editManufacturer($manufacturer_id, $data) {]]></search>
			<add><![CDATA[
			$this->db->query("UPDATE " . DB_PREFIX . "manufacturer SET additional = '" . $this->db->escape($data['additional']) . "' WHERE manufacturer_id = '" . (int)$manufacturer_id . "'");
			]]></add>
		</operation>
	</file>

	<file name="admin/language/*/catalog/manufacturer.php">
		<operation>
			<search position="before"><![CDATA[?>]]></search>
			<add><![CDATA[
$_['entry_additional'] = 'Prazo Adicional de Entrega:<br/><span class="help">Prazo adicional de entrega que será aplicado nos produtos sem estoque ligados ao fabricante.</span>';
			]]></add>
		</operation>
	</file>

	<file name="admin/controller/catalog/manufacturer.php">
		<operation>
			<search position="before"><![CDATA[$this->data['entry_keyword'] = $this->language->get('entry_keyword');]]></search>
			<add><![CDATA[
		$this->data['entry_additional'] = $this->language->get('entry_additional');
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[if (isset($this->request->post['keyword'])) {]]></search>
			<add><![CDATA[
		if (isset($this->request->post['additional'])) {
			$this->data['additional'] = $this->request->post['additional'];
		} elseif (!empty($manufacturer_info)) {
			$this->data['additional'] = $manufacturer_info['additional'];
		} else {
			$this->data['additional'] = '';
		}
			]]></add>
		</operation>
	</file>

	<file name="admin/view/template/catalog/manufacturer_form.tpl">
		<operation>
			<search position="before" offset="1"><![CDATA[<td><?php echo $entry_keyword; ?></td>]]></search>
			<add><![CDATA[
            <tr>
              <td><?php echo $entry_additional; ?></td>
              <td><input type="text" name="additional" value="<?php echo $additional; ?>" /></td>
            </tr>
			]]></add>
		</operation>
	</file>
	
	<file name="system/library/cart.php">
		<operation>
			<search position="before"><![CDATA[foreach ($this->session->data['cart'] as $key => $quantity) {]]></search>
			<add><![CDATA[
				if (!isset($this->session->data['additional'])) {
					$this->session->data['additional'] = 0;
				}
			]]></add>
		</operation>
		<operation>
			<search position="after"><![CDATA[if ($product_query->num_rows) {]]></search>
			<add><![CDATA[
					if (!empty($product_query->row['manufacturer_id'])) {
						$manufacturer_query = $this->db->query("SELECT m.additional FROM " . DB_PREFIX . "manufacturer m WHERE m.manufacturer_id = '" . (int)$product_query->row['manufacturer_id'] . "'");

						if ($this->session->data['additional'] > $manufacturer_query->row['additional']) {
							$this->session->data['additional'] = $this->session->data['additional'];
						} else {
							$this->session->data['additional'] = $manufacturer_query->row['additional'];
						}
					}
			]]></add>
		</operation>
		<operation>
			<search position="after"><![CDATA[if ($option_value_query->num_rows) {]]></search>
			<add><![CDATA[
										if ($option_value_query->row['quantity'] > 0) {
											$this->session->data['additional'] = 0;
										}
			]]></add>
		</operation>
		<operation>
			<search position="before"><![CDATA[$this->data[$key] = array(]]></search>
			<add><![CDATA[
					if (count($option_data) > 0) {
						if ($quantity > 0) {
							$this->session->data['additional'] = 0;
						}
					}
			]]></add>
		</operation>
	</file>
	
	<file name="catalog/model/shipping/correios.php">
		<operation>
			<search position="replace"><![CDATA["PrazoEntrega" => ($servico->getElementsByTagName('PrazoEntrega')->item(0)->nodeValue + $prazo),]]></search>
			<add><![CDATA[
						"PrazoEntrega" => ($servico->getElementsByTagName('PrazoEntrega')->item(0)->nodeValue + $prazo + $this->session->data['additional']),
			]]></add>
		</operation>
	</file>
	
	<file name="catalog/model/shipping/braspress.php">
		<operation>
			<search position="replace"><![CDATA[$prazo = $consulta_array['PRAZOENTREGA'] + $this->config->get('braspress_prazo_adicional');]]></search>
			<add><![CDATA[
			$prazo = $consulta_array['PRAZOENTREGA'] + $this->config->get('braspress_prazo_adicional') + $this->session->data['additional'];
			]]></add>
		</operation>
	</file>
</modification>