Tenho uma pequena aplicação em php que gera arquivos pdf com a MPDF e envia email com a PHPMAILER. De repente a app parou de enviar os emails e apresenta a seguinte mensagem de erro:
Error PHPMailer: SMTP Error: Could not authenticate.
Faço uso de um hotmail para a configuração do PHPMAILER.
Preciso criar uma Rotina onde o usuário possa buscar na Base de Dados de Produtos, tanto por Código e Descrição, ou seja:
- caso o usuário digita o Código, mostra os dados do Produto.
- caso o usuário digita a Descrição, mostra os dados do Produto
Fiz uma Rotina, onde o usuário digita a DESCRIÇÃO com a função AUTOCOMPLETE. <=== está funcionando certinho.
Minha dúvida é como faço para DIGITAR o Código e mostrar os dados também.
o meu AutoComplete na MODEL está assim.
public function autoCompleteProduto($q){
$this->db->select('*' )
->from('produtos')
->where('produtos.statusProd',1)
->like('descricao', $q)
->limit(5)
->order_by('descricao', 'ASC');
$query = $this->db->get();
if ($query->num_rows() > 0) {
foreach ($query->result_array() as $row) {
$row_set[] = ['label' => str_pad($row['idProdutos'], '5', '0', STR_PAD_LEFT).' - '.$row['descricao'], 'id' => $row['idProdutos'], 'descricao' => $row['descricao'], 'cod_interno' => $row['cod_interno'], 'prd_unid' => $row['prd_unid'], 'estoque_atual' => $row['estoque_atual'] ];
}
echo json_encode($row_set);
}
}
no CONTROLLER está assim:
public function autoCompleteProduto()
{
$this->load->model('estoque/lancamentos_model');
if (isset($_GET['term'])) {
$q = strtolower($_GET['term']);
$this->lancamentos_model->autoCompleteProduto($q);
}
}
na VIEW está assim:
<div class="col-md-10">
<label for="idProdutos">Produto:</label>
<input type="hidden" name="idProdutos" id="idProdutos">
<input type="text" class="form-control" id="descricao" name="descricao"
style="font-size:15px; font-weight:bold;"
placeholder="Pesquisar por descrição do produto" disabled>
</div>
VIEW + JAVASCRIPT
//Função para trazer os Dados pelo o AutoComplete.
function resolveAutocomplete() {
$("#descricao").autocomplete({
source: "<?php echo base_url(); ?>estoque/lancamentos/autoCompleteProduto/",
minLength: 2,
select: function (event, ui) {
$("#idProdutos").val(ui.item.id);
$("#cod_interno").val(ui.item.cod_interno);
$("#descricao").val(ui.item.descricao);
$("#prd_unid").val(ui.item.prd_unid);
$("#estoque_atual").val(ui.item.estoque_atual);
$("#qtde").focus();
}
});
}
// inicia o autocomplete
resolveAutocomplete();
Grato,
Estou tentando criar um projeto laravel e está dando o seguinte erro
curl error 60 while downloading https://getcomposer.org/versions: SSL certificate problem: unable to get local issu
er certificate
Já tentei atualizar o composer, mas dá o mesmo erro acima.
Estou com uma dúvida de validação de INPUT com função moeda.
Tenho um input onde o usuário digita um valor qualquer, por exemplo: 1.234,56
o problema é quando precisa atualizar o valor.
Quando o usuário atualizar o input fica assim: 1.234,
como faço para atualizar as casas decimais, conforme o valor for sendo alterado ?
o input está assim:
<div class="col-md-2">
<label for="">Valor Unitário</label>
<input type="text" class="form-control" id="estoqprod" name="estoqprod"
style="font-size:15px; font-weight:bold; width:100%; text-align:center;"
placeholder="0,00" OnKeyUp="calcProd();"
onkeypress="return(FormataMoeda(this,'.',',',event))" >
</div>
a função para formatar o input para moeda está assim:
obs.: a Função CalcProd está executando corretamente
function calcProd(){
//Obter valor digitado do produto
var estoq_prod = document.getElementById("estoqprod").value;
//Remover ponto e trocar a virgula por ponto
while (estoq_prod.indexOf(".") >= 0) {
estoq_prod = estoq_prod.replace(".", "");
}
estoq_prod = estoq_prod.replace(",",".");
//Obter valor digitado do produto
var prod_qtde = document.getElementById("qtde").value;
//Remover ponto e trocar a virgula por ponto
while (prod_qtde.indexOf(".") >= 0) {
prod_qtde = prod_qtde.replace(".", "");
}
prod_qtde = prod_qtde.replace(",",".");
//Calcula o Valor do Desconto
if (prod_qtde > 0 && estoq_prod > 0) {
calc_total_produto = parseFloat(prod_qtde) - parseFloat(estoq_prod);
var numero = calc_total_produto.toFixed(2).split('.');
//Calculo para não deixar GRAVAR valores negativos
if (calc_total_produto < 0 ) {
numero[0] = numero[0].split(/(?=(?:...)*$)/).join('.') * -1;
document.getElementById("qtdeTotal").value = numero.join(',');
} else {
numero[0] = numero[0].split(/(?=(?:...)*$)/).join('.');
document.getElementById("qtdeTotal").value = numero.join(',');
}
} else {
if (estoq_prod > 0) {
document.getElementById("qtdeTotal").value = document.getElementById("estoqprod").value;
} else {
document.getElementById("qtdeTotal").value = "0,00";
}
}
}
/*---Função para Formatar Campo para Moeda [R$]---*/
function FormataMoeda(objTextBox, SeparadorMilesimo, SeparadorDecimal, e){
var sep = 0;
var key = '';
var i = j = 0;
var len = len2 = 0;
var strCheck = '0123456789';
var aux = aux2 = '';
var whichCode = (window.Event) ? e.which : e.keyCode;
if (whichCode == 13) return true;
key = String.fromCharCode(whichCode); // Valor para o código da Chave
if (strCheck.indexOf(key) == -1) return false; // Chave inválida
len = objTextBox.value.length;
for(i = 0; i < len; i++)
if ((objTextBox.value.charAt(i) != '0') && (objTextBox.value.charAt(i) != SeparadorDecimal)) break;
aux = '';
for(; i < len; i++)
if (strCheck.indexOf(objTextBox.value.charAt(i))!=-1) aux += objTextBox.value.charAt(i);
aux += key;
len = aux.length;
if (len == 0) objTextBox.value = '';
if (len == 1) objTextBox.value = '0'+ SeparadorDecimal + '0' + aux;
if (len == 2) objTextBox.value = '0'+ SeparadorDecimal + aux;
if (len > 2) {
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 3) {
aux2 += SeparadorMilesimo;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
objTextBox.value = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
objTextBox.value += aux2.charAt(i);
objTextBox.value += SeparadorDecimal + aux.substr(len - 2, len);
}
return false;
}
Grato,
Olá pessoal, sou novo por aqui e estou precisando da ajuda de vcs!
Tenho um modulo de marketplace (webkul) e preciso alterar a quantidade de exibição de anunciantes de 4 para 20 por página.
Alguem poderia me ajuda? :)
Minha página de anuncinates é: https://lenda360.com.br/marketplace/seller/sellerlist/
Meu arquivo sellerlist contem:
<?php
/**
* Webkul Software.
*
* @category Webkul
* @package Webkul_Marketplace
* @author Webkul
* @copyright Copyright (c) Webkul Software Private Limited (https://webkul.com)
* @license https://store.webkul.com/license.html
*/
$helper = $this->helper(\Webkul\Marketplace\Helper\Data::class);
$banner_display = $helper->getDisplayBanner();
$banner_image = $helper->getBannerImage();
$banner_content = $helper->getBannerContent();
$marketplacebutton = $helper->getMarketplacebutton();
$sellerlist_top_label = $helper->getSellerlisttopLabel();
$sellerlist_bottom_label = ($helper->getSellerlistbottomLabel());
$paramData = $this->getRequest()->getParams();
if (!isset($paramData['shop'])) {
$paramData['shop'] = '';
}
$sellerAccountUrl = $block->getUrl(
'marketplace/account/becomeseller',
["_secure" => $this->getRequest()->isSecure()]
);
if (!$helper->isCustomerLoggedIn()) {
$sellerAccountUrl = $block->getUrl(
'customer/account/create',
["_secure" => $this->getRequest()->isSecure()]
);
}
?>
<div class="wk-mp-design wk-mp-landingpage">
<?php
if ($banner_display) {?>
<div class="wk-mp-banner-container">
<div class="wk-mp-banner">
<div class="wk-mp-header">
<h1><?= $block->escapeHtml($marketplacebutton); ?></h1>
<h2>
<?= /* @noEscape */ $block->getCmsFilterContent($banner_content)?>
</h2>
<p>
<a href="<?= $block->escapeUrl($block->getUrl('marketplace/account/becomeseller/', ['_secure' => $this->getRequest()->isSecure()])); ?>">
<button class="button wk-mp-landing-button">
<span>
<span>
<strong><?= $block->escapeHtml($marketplacebutton); ?></strong>
</span>
</span>
</button>
</a>
</p>
</div>
</div>
</div>
<?php
} ?>
<h1 class="wk-marketplace-label"><?= $block->escapeHtml($sellerlist_top_label) ?></h1>
<style>
</style>
<div clas="wk-srach-wrapper">
<form method="get" action="<?= $block->escapeUrl($block->getUrl('marketplace/seller/sellerlist', ['_secure' => $this->getRequest()->isSecure()]))?>" id="search_mini_form" class="wk-search no-p" style="">
<div class="control">
<input id="sellersearch" type="search" name="shop" value="<?= $block->escapeHtml($paramData['shop'])?>" class="input-text required-entry" maxlength="128" placeholder="<?= $block->escapeHtml(__('Search sellers by shop name from here'))?>..." autocomplete="off" style="width:100%;border:1px solid #ccc;float:left;">
<button type="submit" title="Search" class="button"><span class="span"><span><?= $block->escapeHtml(__('Search')) ?></span></span></button>
</div>
</form>
</div>
<div class="wk-mp-sellerlist-container" style="display:inline-block;padding: 0;padding-top: 20px;width: 100%;">
<?php
if (count($block->getSellerCollection())==0) { ?>
<div class="wk-emptymsg">
<?= $block->escapeHtml(__('No Seller Available')) ?>
</div>
<?php
} else {?>
<ul>
<?php
foreach ($block->getSellerCollection() as $seller_coll) {
$seller_id = $seller_coll->getSellerId();
$seller_product_count = 0;
$profileurl = $seller_coll->getShopUrl();
$shoptitle = '';
$logo="noimage.png";
$seller_product_count = $helper->getSellerProCount($seller_id);
$shoptitle = $seller_coll->getShopTitle();
$logo=$seller_coll->getLogoPic()==''?"noimage.png":$seller_coll->getLogoPic();
if (!$shoptitle) {
$shoptitle = $profileurl;
}
$logo=$helper->getMediaUrl().'avatar/'.$logo;
?>
<li>
<div class="wk-mp-sellerlist-wrap">
<div class="wk-sellerlist-divide1">
<a href="<?= $block->escapeUrl($helper->getRewriteUrl('marketplace/seller/profile/shop/'.$profileurl));?>" title="<?= $block->escapeHtml(__("View Seller's Shop")) ?>"><img src="<?= $block->escapeUrl($logo) ?>"></a>
</div>
<div class="wk-sellerlist-divide2">
<div>
<a href="<?= $block->escapeUrl($helper->getRewriteUrl('marketplace/seller/profile/shop/'.$profileurl));?>" title="<?= $block->escapeHtml(__("View Seller's Shop")) ?>">
<strong><?= $block->escapeHtml($shoptitle) ?></strong>
</a>
</div>
<div><?= $block->escapeHtml(__('%1 Total Products', $seller_product_count)) ?></div>
<a href="<?= $block->escapeUrl($helper->getRewriteUrl('marketplace/seller/collection/shop/'.$profileurl));?>">
<button class="button" title="<?= $block->escapeHtml(__("View Seller's Collection")) ?>">
<span>
<span>
<?= $block->escapeHtml(__('View All')); ?>
</span>
</span>
</button>
</a>
</div>
</div>
</li>
<?php
}?>
</ul>
<?php
}?>
</div>
<?php if ($block->getPagerHtml()): ?>
<div class="order-products-toolbar toolbar bottom"><?= $block->getPagerHtml(); ?></div>
<?php endif ?>
<h1 class="wk-marketplace-label"><?= /* @noEscape */ $sellerlist_bottom_label ?></h1>
<a href="<?= $block->escapeUrl($sellerAccountUrl)?>">
<button class="button wk-mp-landing-button">
<span>
<span>
<strong><?= $block->escapeHtml($marketplacebutton); ?></strong>
</span>
</span>
</button>
</a>
</div>
<script>
require([
"jquery",
"mage/mage",
], function($){
$('.page-title-wrapper').hide();
$('.wk-mp-banner').css('background-image','url("<?= $block->escapeUrl($banner_image) ?>")');
});
</script>
Compartilhar este post
Link para o post
Compartilhar em outros sites