Список розділів › Скрипти › Buyme — покупка за один клік
cabledetection.ru написав:Доброго времени суток Назару и всем форумчанам.
Установил Buyme 1.4, очень понравилась функциональность и удобство использования. Поля формы настроил, кнопка нажимается, форма красивая открывается, фон затемняется, жму "Заказать" и мне пишет "Ваш заказ отправлен" и т.п. НО email не приходит на почтовый ящик. На спам проверял, пробовал минимум пять email ящиков на разных доменах, включая Gmail и Yandex. Пробовал все варианты, представленные на форуме, и такой (почта Gmail и Яндекс)
- Код: Виділити все
<?php
$mhSmtpMail_Server = "ssl://smtp.domain.tld"; // smtp-сервер
$mhSmtpMail_Port = "465"; // порт smtp
$mhSmtpMail_Username = "[email protected]"; // имя пользователя
$mhSmtpMail_Password = "password"; // пароль
и такой (почта на хостинге Hostland.ru)
- Код: Виділити все
<?php
$mhSmtpMail_Server = "smtp.domain.tld"; // smtp-сервер
$mhSmtpMail_Port = "25"; // порт smtp
$mhSmtpMail_Username = "[email protected]"; // имя пользователя
$mhSmtpMail_Password = "password"; // пароль
и такой ( пробовал и с Hostland и с Google/Yandex)не помогло. Ткните, пожалуйста, носом, где копать? Может быть такое, что почта не приходит из-за неправильно размещенных class?
- Код: Виділити все
<?php
$config['smtp_username'] = '[email protected]';
$config['smtp_port'] = '25';
$config['smtp_host'] = 'mail.hostland.ru';
$config['smtp_password'] = 'password';
$config['smtp_debug'] = false;
$config['smtp_charset'] = 'utf-8';
$config['smtp_from'] = $from;
Сайт пока в разработке, но Buyme установлен и форма работает по адресу shop.cabledetection.ru
Заранее благодарю всех ответивших!
upd. При попытке открыть ссылку shop.cabledetection.ru/buyme/lib/send.php выдает вот такое
- Код: Виділити все
{ "result": "err", "cls": "b1c-err", "time": "", "message": "Пожалуйста, заполните все поля" }
<!DOCTYPE html>
<html {if $language->label}lang="{$language->label|escape}"{/if} prefix="og: http://ogp.me/ns#">
<head>
{* Полный базовый адрес *}
<base href="{$config->root_url}/"/>
{* Метатеги *}
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
{* Тайтл страницы *}
<title>{$meta_title|escape}{$filter_meta->title|escape}</title>
{if (!empty($meta_description) || !empty($meta_keywords) || !empty($filter_meta->description) || !empty($filter_meta->keywords)) && !$smarty.get.page}
<meta name="description" content="{$meta_description|escape}{$filter_meta->description|escape}"/>
<meta name="keywords" content="{$meta_keywords|escape}{$filter_meta->keywords|escape}"/>
{/if}
{if $module == 'ProductsView'}
{if $set_canonical}
<meta name="robots" content="noindex,nofollow"/>
{elseif $smarty.get.page || $smarty.get.sort}
<meta name="robots" content="noindex,follow"/>
{elseif isset($smarty.get.keyword)}
<meta name="robots" content="noindex,follow"/>
{else}
<meta name="robots" content="index,follow"/>
{/if}
{elseif $smarty.get.module == "RegisterView" || $smarty.get.module == "LoginView" || $smarty.get.module == "UserView" || $smarty.get.module == "CartView"}
<meta name="robots" content="noindex,follow"/>
{elseif $smarty.get.module == "OrderView"}
<meta name="robots" content="noindex,nofollow"/>
{else}
<meta name="robots" content="index,follow"/>
{/if}
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"/>
<meta name="generator" content="OkayCMS {$config->version}"/>
{if $settings->g_webmaster}
<meta name="google-site-verification" content="{$settings->g_webmaster}" />
{/if}
{if $settings->y_webmaster}
<meta name='yandex-verification' content="{$settings->y_webmaster}" />
{/if}
{$rel_prev_next}
{* Изображения товара и поста для соц. сетей *}
{if $module == 'ProductView'}
<meta property="og:url" content="{$config->root_url}{if $lang_link}/{str_replace('/', '', $lang_link)}{/if}{$canonical}"/>
<meta property="og:type" content="article"/>
<meta property="og:title" content="{$product->name|escape}"/>
<meta property="og:description" content='{$product->annotation}'/>
{if $product->images}
{foreach $product->images as $i=>$image}
{*for vk*}
<link rel="image_src" href="{$image->filename|resize:330:300}"/>
{*for fb*}
<meta property="og:image" content="{$image->filename|resize:330:300}"/>
{/foreach}
{/if}
<meta property="og:image" content="{$product->image->filename|resize:330:300}"/>
<link rel="image_src" href="{$product->image->filename|resize:330:300}"/>
{*twitter*}
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="{$product->name|escape}">
<meta name="twitter:description" content="{$product->annotation}">
<meta name="twitter:image" content="{$product->image->filename|resize:330:300}">
{elseif $module == 'BlogView'}
<meta property="og:url" content="{$config->root_url}{if $lang_link}/{str_replace('/', '', $lang_link)}{/if}{$canonical}"/>
<meta property="og:type" content="article"/>
<meta property="og:title" content="{$post->name|escape}"/>
{if $post->image}
<meta property="og:image" content="{$post->image|resize:400:300:false:$config->resized_blog_dir}"/>
<link rel="image_src" href="{$post->image|resize:400:300:false:$config->resized_blog_dir}"/>
{else}
<meta property="og:image" content="{$config->root_url}/design/{$settings->theme}/images/logo_ru.png" />
<meta name="twitter:image" content="{$config->root_url}/design/{$settings->theme}/images/logo_ru.png">
{/if}
<meta property="og:description" content='{$post->annotation}'/>
{*twitter*}
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="{$post->name|escape}">
<meta name="twitter:description" content="{$post->annotation|escape}">
<meta name="twitter:image" content="{$post->image|resize:400:300:false:$config->resized_blog_dir}">
{else}
<meta property="og:title" content="{$settings->site_name}" />
<meta property="og:type" content="website"/>
<meta property="og:url" content="{$config->root_url}"/>
<meta property="og:image" content="{$config->root_url}/design/{$settings->theme}/images/logo_ru.png" />
<meta property="og:site_name" content="{$settings->site_name}"/>
<meta property="og:description" content="{$meta_description|escape}"/>
<link rel="image_src" href="{$config->root_url}/design/{$settings->theme}/images/logo_ru.png"/>
{*twitter*}
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="{$settings->site_name}">
<meta name="twitter:description" content="{$meta_description|escape}">
<meta name="twitter:image" content="{$config->root_url}/design/{$settings->theme}/images/logo_ru.png">
{/if}
{* Канонический адрес страницы *}
{if isset($canonical)}
<link rel="canonical" href="{$config->root_url}{if $lang_link}/{str_replace('/', '', $lang_link)}{/if}{$canonical}"/>
{elseif $smarty.get.sort}
<link rel="canonical" href="{$sort_canonical}"/>
{/if}
{* Языковый атрибут *}
{foreach $languages as $l}
{if $l->enabled}
<link rel="alternate" hreflang="{$l->label}" href="{$config->root_url}/{$l->url}"/>
{/if}
{/foreach}
{* Иконка сайта *}
<link href="design/{$settings->theme}/images/favicon.png" type="image/x-icon" rel="icon"/>
<link href="design/{$settings->theme}/images/favicon.png" type="image/x-icon" rel="shortcut icon"/>
{* JQuery *}
<script src="design/{$settings->theme}/js/jquery-2.1.4.min.js"></script>
{* JQuery UI *}
{* Библиотека с "Slider", "Transfer Effect" *}
<script src="design/{$settings->theme}/js/jquery-ui.min.js"></script>
{* Fancybox *}
<script src="design/{$settings->theme}/js/jquery.fancybox.min.js"></script>
{* Autocomplete *}
<script src="design/{$settings->theme}/js/jquery.autocomplete-min.js"></script>
{* slick slider *}
<script src="design/{$settings->theme}/js/slick.min.js"></script>
{* Карточка товаров, поделиться в соц. сетях *}
{if $smarty.get.module == 'ProductView' || $smarty.get.module == "BlogView"}
<script type="text/javascript" src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js"></script>
<script type="text/javascript" src="//yastatic.net/share2/share.js"></script>
{/if}
{* Стили *}
<link href="design/{$settings->theme|escape}/css/bootstrap.css" rel="stylesheet"/>
<script src="design/{$settings->theme|escape}/js/bootstrap.min.js"></script>
{* Okay *}
{include file="scripts.tpl"}
<script src="design/{$settings->theme}/js/okay.js"></script>
{* Всплывающие подсказки для администратора *}
{if $smarty.session.admin}
<script src ="backend/design/js/admintooltip/admintooltip.js"></script>
<link href="backend/design/js/admintooltip/styles/admin.css" rel="stylesheet"/>
{/if}
{* js-проверка форм *}
<script src="design/{$settings->theme}/js/baloon.js"></script>
{if $settings->g_analytics}
{literal}
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', {/literal}'{$settings->g_analytics}'{literal}, 'auto');
ga('send', 'pageview');
</script>
{/literal}
{/if}
<script src="/buyme/js/buyme.js" charset="utf-8"></script>
</head>
{* Страница товара *}
{* Канонический адрес страницы *}
{$canonical="/products/{$product->url}" scope=parent}
<div class="border-b-1-info">
<div class="container" itemscope itemtype="http://schema.org/Product">
{* Хлебные крошки *}
{include file='breadcrumb.tpl'}
{* Заголовок страницы *}
<h1 class="m-b-1">
<span data-product="{$product->id}" itemprop="name">{$product->name|escape} {if $product->variants|count == 1 && !empty($product->variant->name)}({$product->variant->name|escape}){/if}</span>
</h1>
<div class="row fn-transfer">
{if $product->image}
<div class="col-lg-5">
<a class="fn-zoom okaycms btn-block relative border-a-1-info text-xs-center" href="{$product->image->filename|resize:800:600:w}" rel="group">
{* Промо изображение *}
{if $product->special}
<img class="card-spec" alt='{$product->special}' title="{$product->special}" src='files/special/{$product->special}'/>
{/if}
{* Большое фото товара *}
<img itemprop="image" class="fn-img" src="{$product->image->filename|resize:300:300}" alt="{$product->name|escape}" title="{$product->name|escape}"/>
</a>
{* Дополнительные фото продукта *}
{if $product->images|count > 1}
<div class="row m-y-2 fn-slick-images okaycms">
{* cut удаляет первую фотографию, если нужно начать 2-й - пишем cut:2 и тд *}
{foreach $product->images|cut as $i=>$image}
<div class="col-xs-4 col-lg-3">
<a class="fn-zoom okaycms btn-block border-a-1-info text-xs-center product-images" href="{$image->filename|resize:800:600:w}" rel="group">
<img src="{$image->filename|resize:87:72}" alt="{$product->name|escape}"/>
</a>
</div>
{/foreach}
</div>
{/if}
</div>
{else}
<div class="col-lg-5">
<a class="fn-zoom okaycms btn-block relative border-a-1-info text-xs-center" href="design/{$settings->theme}/images/no_image.png" rel="group">
{* Промо изображение *}
{if $product->special}
<img class="card-spec" alt='{$product->special}' title='{$product->special}' src='files/special/{$product->special}'/>
{/if}
{* Большое фото товара *}
<img class="fn-img" src="design/{$settings->theme}/images/no_image.png" height="300" alt="{$product->name|escape}"/>
</a>
</div>
{/if}
<div class="col-lg-7 fn-product" itemprop="offers" itemscope="" itemtype="http://schema.org/Offer">
<form class="fn-variants okaycms row" action="/{$lang_link}cart">
<div class="col-lg-6">
{* Цена *}
<div class="h4 font-weight-bold">
<span class="fn-price" itemprop="price" content="{$product->variant->price|convert:'':false}">{$product->variant->price|convert}</span>
<span itemprop="priceCurrency" content="{$currency->code|escape}">{$currency->sign|escape}</span>
</div>
{* Старая цена *}
<div class="text-line-through text-red{if !$product->variant->compare_price} hidden-xs-up{/if}">
<span class="fn-old_price">{$product->variant->compare_price|convert}</span> {$currency->sign|escape}
</div>
{* Рейтинг товара *}
<div id="product_{$product->id}" class="product_rating"{if $product->rating > 0} itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating"{/if}>
<span data-language="{$translate_id['product_rating']}">{$lang->product_rating}</span>:
<span class="rating_starOff">
<span class="rating_starOn" style="width:{$product->rating*90/5|string_format:'%.0f'}px;"></span>
</span>
{*Вывод количества голосов данного товара, скрыт ради микроразметки*}
{if $product->rating > 0}
<span itemprop="reviewCount" style="display: none;">{$product->votes|string_format:"%.0f"}</span>
<span itemprop="ratingValue">({$product->rating|string_format:"%.1f"})</span>
{*Вывод лучшей оценки товара, вывод ради микроразметки*}
<span itemprop="bestRating" style="display:none;">5</span>
{else}
<span>({$product->rating|string_format:"%.1f"})</span>
{/if}
</div>
{* Артикул товара *}
<div {if !$product->variant->sku} class="hidden-xs-up"{/if}><span data-language="{$translate_id['product_sku']}">{$lang->product_sku}</span>: <span class="fn-sku">{$product->variant->sku}</span></div>
{* Варианты товара *}
<select name="variant" class="fn-variant okaycms form-control c-select m-t-1 m-b-1-md_down{if $product->variants|count < 2} hidden-xs-up{/if}">
{foreach $product->variants as $v}
<option value="{$v->id}" data-price="{$v->price|convert}" data-stock="{$v->stock}"{if $v->compare_price > 0} data-cprice="{$v->compare_price|convert}"{/if}{if $v->sku} data-sku="{$v->sku}"{/if}>{if $v->name}{$v->name}{else}{$product->name|escape}{/if}</option>
{/foreach}
</select>
</div>
<div class="col-lg-6">
{if !$settings->is_preorder}
{* Нет на складе *}
<div class="fn-not_preorder form-group{if $product->variant->stock > 0} hidden-xs-up{/if}">
<button class="btn btn-danger-outline btn-block disabled h5" type="button" data-language="{$translate_id['product_out_of_stock']}">{$lang->product_out_of_stock}</button>
</div>
{else}
{* Предзаказ *}
<div class="fn-is_preorder form-group{if $product->variant->stock > 0} hidden-xs-up{/if}">
<button class="btn btn-warning-outline btn-block i-preorder" type="submit" data-language="{$translate_id['product_pre_order']}">{$lang->product_pre_order}</button>
</div>
{/if}
<div class="fn-product-amount fn-is_stock okaycms text-xs-center text-md-left{if $product->variant->stock < 1} hidden-xs-up{/if}">
{* Кол-во товаров *}
<span class="minus">−</span>
<input class="form-control" type="text" name="amount" value="1" data-max="{$product->variant->stock}">
<span class="plus">+</span>
{* Кнопка добавления в корзину *}
<button class="fn-is_stock btn btn-warning i-add-cart{if $product->variant->stock < 1} hidden-xs-up{/if}" type="submit" data-language="{$translate_id['product_add_cart']}">{$lang->product_add_cart}</button>
</div>
{* Заказ в 1 клик *}
<button class="b1c">Купить за 1 клик</button>
{* Сравнение *}
<div class="form-group m-t-1 text-xs-center text-md-left hidden-md-down">
{if !in_array($product->id,$comparison->ids)}
<a class="i-comparison fn-comparison okaycms" href="#" data-id="{$product->id}" title="{$lang->product_add_comparison}" data-result-text="{$lang->product_remove_comparison}" data-language="{$translate_id['product_add_comparison']}"></a>
{else}
<a class="i-comparison fn-comparison okaycms selected" href="#" data-id="{$product->id}" title="{$lang->product_remove_comparison}" data-result-text="{$lang->product_add_comparison}" data-language="{$translate_id['product_remove_comparison']}"></a>
{/if}
</div>
{* Избранное *}
<div class="form-group text-xs-center text-md-left m-t-1">
{if $product->id|in_array:$wished_products}
<a href="#" data-id="{$product->id}" class="i-favorites fn-wishlist okaycms selected" title="{$lang->product_remove_favorite}" data-result-text="{$lang->product_add_favorite}" data-language="{$translate_id['product_remove_favorite']}"></a>
{else}
<a href="#" data-id="{$product->id}" class="i-favorites fn-wishlist okaycms" title="{$lang->product_add_favorite}" data-result-text="{$lang->product_remove_favorite}" data-language="{$translate_id['product_add_favorite']}"></a>
{/if}
</div>
</div>
</form>
$(".b2c-form").find("[type=text], textarea").each(function() {
if ($(this).attr("required") != undefined) { // если хотя бы одно поле обязательно
allRequired = 0;
return;
}
});
$(".b2c-form").find("[type=text], textarea").each(function() { // проверяем заполенность полей
if ($(this).val().length < 0) {
if (allRequired == 0 && $(this).attr("required") != undefined) {
$(this).addClass("b2c-txt-err");
errorSending = 1;
}
if (allRequired == 1) {
$(this).addClass("b2c-txt-err");
errorSending = 1;
}
}
});
if ($(this).val().length < 0) {
if ($(this).val().length <= 0) {
Zasada написав:Видимо, скрипт в хэде не подгружался, а сейчас все наладилось.
Здравствуйте. У меня такая же ситуация. На Фоксе не запускается скрипт.В хроме и Опере запускается.Zasada написав:Спасибо вам огромное!!! Перенес код вниз хэда, и все заработало! Благодарю за помощь!
Ні.chepic1 написав:Скрипт обязан находится только в корне сайта
Так.chepic1 написав:название папки обязано быть Buyme?
Ви щось зробили не так.Aleksandr написав:На Фоксе не запускается скрипт.В хроме и Опере запускается.
Та все ніби то правильно. В Хромі і Опері запускається.Nazar Tokar написав:Aleksandr писал(а):
На Фоксе не запускается скрипт.В хроме и Опере запускается.
Ви щось зробили не так.
jQuery(".checkbox").each(function() // проверяем чекбокс
{
if ( (jQuery(this).is(":not(:checked)")) ) { // если галочка не поставлена
jQuery(this).addClass("b1c-txt-err");
errorSending = 1;
}
});
Повернутись в Buyme — покупка за один клік
Зараз переглядають цей розділ: 2 гостей