[Help][Vqmod] Prazo adicional para produtos sem estoque
Enviado: 15 Mar 2013, 08:52
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!
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>