Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte geral sobre problemas técnicos para OpenCart v1.x.
Avatar do usuário
Por linaldo
#59036
Olá! A um tempo atrás adquiri uma extensão Vqmod que tornava o campo Preço Obrigatório, mas não consegui adaptá-lo para a versão Oc 2.0.1.1. Até consigo barrar o envio, mas com alguns erros "Notice" e não consegui ativar a classe css que faz aparecer o * vermelho no campo. Segue código original para usar no Oc 1.5.x e adaptar para o Oc 2.0.1.1
Código: Selecionar todos
<modification>
	<id>Required Price</id>
	<version>1.0.0</version>
	<vqmver>2.1.7</vqmver>
	<author>Modification: P.K Solutions; vQmod: P.K Solutions</author>

	<file name="admin/controller/catalog/product.php">
        <operation>
            <search position="after"><![CDATA[
             protected function getForm() {
            ]]></search>
            <add><![CDATA[
   		if (isset($this->error['price'])) {
			$this->data['error_price'] = $this->error['price'];
		} else {
			$this->data['error_price'] = '';
		}
            ]]></add>
        </operation>
        <operation>
            <search position="after"><![CDATA[
  			protected function validateForm() {
            ]]></search>
            <add><![CDATA[
	    	if ((utf8_strlen($this->request->post['price']) < 1) || (($this->request->post['price']) <= 0)) {
      		$this->error['price'] = $this->language->get('error_price');
    	}
            ]]></add>
        </operation>		
	</file>	
	
	<file name="admin/language/english/catalog/product.php">
        <operation>
            <search position="after"><![CDATA[
		  	// Error	
            ]]></search>
            <add><![CDATA[
			$_['error_price']            = 'Price must be a numerical value greater than 0!';	
            ]]></add>
        </operation>
	</file>	
		
	
	<file name="admin/view/template/catalog/product_form.tpl">
        <operation>
            <search position="replace"><![CDATA[
              <td><?php echo $entry_price; ?></td>					
            ]]></search>
            <add><![CDATA[
             <td><span class="required">*</span> <?php echo $entry_price; ?></td>
            ]]></add>
        </operation>
        <operation>
            <search position="replace"><![CDATA[
              <td><input type="text" name="price" value="<?php echo $price; ?>" /></td>					
            ]]></search>
            <add><![CDATA[
              <td><input type="text" name="price" value="<?php echo $price; ?>" />
                <?php if ($error_price) { ?>
                <span class="error"><?php echo $error_price; ?></span>
                <?php } ?></td>
            ]]></add>
        </operation>		
		
	</file>		
	
</modification>
Por veteranodf
Mensagens Especiais Curtidas
#59037
Olá;

Adaptei para funcionar na versão 2.x.x.x do OpenCart, postei no fórum do opencart.com e vou postar aqui pois pode ser útil para outra pessoa;
Código: Selecionar todos
<modification>
   <id>Required Price</id>
   <version>2.0.0</version>
   <vqmver>2.1.7</vqmver>
   <author>P.K Solutions (Upgrade para versão 2.0.x.x OpenCart veteranodf@gmail.com)</author>
   <file name="admin/controller/catalog/product.php">
        <operation>
            <search position="after"><![CDATA[protected function getForm() {]]></search>
            <add><![CDATA[
		if (isset($this->error['price'])) {
			$data['error_price'] = $this->error['price'];
		} else {
			$data['error_price'] = array();
		}
            ]]></add>
        </operation>
        <operation>
            <search position="after"><![CDATA[protected function validateForm() {]]></search>
            <add><![CDATA[
		if ((utf8_strlen($this->request->post['price']) < 1) || (($this->request->post['price']) <= 0)) {
            $this->error['price'] = $this->language->get('error_price');
		}
            ]]></add>
        </operation>      
   </file>   
   <file name="admin/language/english/catalog/product.php">
        <operation>
            <search position="after"><![CDATA[// Error]]></search>
            <add><![CDATA[
         $_['error_price']            = 'Preço deve ser um valor numérico e maior que 0!';   
            ]]></add>
        </operation>
   </file>   
   <file name="admin/view/template/catalog/product_form.tpl">
        <operation>
            <search position="before" offset="1"><![CDATA[<?php echo $entry_price; ?></label>]]></search>
            <add><![CDATA[<?php /* ?>]]></add>
        </operation>
        <operation>
            <search position="before"><![CDATA[<?php echo $entry_price; ?></label>]]></search>
            <add><![CDATA[<?php */ ?><div class="form-group required">]]></add>
        </operation>
        <operation>
            <search position="after"><![CDATA[<?php echo $entry_price; ?>" id="input-price"]]></search>
            <add><![CDATA[
              <?php if ($error_price) { ?>
                <span class="text-danger"><?php echo $error_price; ?></span>
                <?php } ?></td>
            ]]></add>
        </operation>      
   </file>      
</modification>