
-=NICROSS=-
-
Content Count
108 -
Joined
-
Last visited
Posts posted by -=NICROSS=-
-
-
Господа знатоки, подскажите, пожалуйста.
Добавил дополнительное поле на странице бренда в админке:
1. Запрос в базу
2. simpla/BrandAdmin.php3. simpla/design/html/brand.tpl
После этого поле появилось. Данные вводишь в админке, поле пустое, но в базу записывается.
Где и что пропустил, из за чего и не отображается содержимое поля, подскажите, пожалуйста?
-
Как вы будете использовать код - зависит от того, ЧТО НУЖНО ПОЛУЧИТЬ
Если вам нужен КЛАСС
{if $v->id = $product->variant->id}class="active"{/if}
Например так
Находится должно внутри цикла по вариантам товара
{foreach $product->variants as $v} <tr class="variant var-2{if $v->id = $product->variant->id} active{/if}"> <td> <input class="mquantity" name="mquantity[{$v->id}]" value="" type="text" style="width:20px" data-price="{$v->price}" data-price0="{$v->price}" data-color_prc="{$v->color_prc}" data-color_prcс="{$v->rate}"> </td> <td> {if $v->name}<label style="margin-right: 10px;" class="variant_name" for="product_{$v->id}">{$v->name}</label>{/if} </td> <td> {if $v->compare_price > 0}<span class="compare_price">{$v->compare_price|convert}</span>{/if} <span class="price">{$v->price|convert} <span class="currency">{$currency->sign|escape}</span></span> </td> </tr> {/foreach}
Спасибо тебе большое!
Разобрался. Выдавало синтаксическую ошибку из за отсутствия второго "=" в условии
{if $v->id == $product->variant->id} active{/if}
-
Как вы будете использовать код - зависит от того, ЧТО НУЖНО ПОЛУЧИТЬ
Если вам нужен КЛАСС
{if $v->id = $product->variant->id}class="active"{/if}
Например так
Находится должно внутри цикла по вариантам товара
{foreach $product->variants as $v} <tr class="variant var-2{if $v->id = $product->variant->id} active{/if}"> <td> <input class="mquantity" name="mquantity[{$v->id}]" value="" type="text" style="width:20px" data-price="{$v->price}" data-price0="{$v->price}" data-color_prc="{$v->color_prc}" data-color_prcс="{$v->rate}"> </td> <td> {if $v->name}<label style="margin-right: 10px;" class="variant_name" for="product_{$v->id}">{$v->name}</label>{/if} </td> <td> {if $v->compare_price > 0}<span class="compare_price">{$v->compare_price|convert}</span>{/if} <span class="price">{$v->price|convert} <span class="currency">{$currency->sign|escape}</span></span> </td> </tr> {/foreach}
Страница недоступна в этом случае.
error 500
Можете сейчас посмотреть, ошибку 500 он дал, когда условие опубликованное разместил
-
Не знаю, это зависит от кода вашего сайта)))
{if $product->variants|count > 0} <!-- Выбор варианта товара --> <form class="variants" action="/cart"> <input type="hidden" name="color_id" id="color_id" value=""> <table> {foreach $product->variants as $v} <tr class="variant var-2"> <td> <input class="mquantity" name="mquantity[{$v->id}]" value="" type="text" style="width:20px" data-price="{$v->price}" data-price0="{$v->price}" data-color_prc="{$v->color_prc}" data-color_prcс="{$v->rate}"> </td> <td> {if $v->name}<label style="margin-right: 10px;" class="variant_name" for="product_{$v->id}">{$v->name}</label>{/if} </td> <td> {if $v->compare_price > 0}<span class="compare_price">{$v->compare_price|convert}</span>{/if} <span class="price">{$v->price|convert} <span class="currency">{$currency->sign|escape}</span></span> </td> </tr> {/foreach} </table> <input type="submit" class="button mquantitybutton" value="в корзину" data-result-text="добавлено"/> </form> <!-- Выбор варианта товара (The End) --> {else} Нет в наличии {/if}
Вывод вариантов на странице товара такой
-
Ссылку на сайт как минимум нужно.
http://wordbooks.ru/products/testovyj-tovar-1?variant=961
961 - айди третьего варианта
-
{if $v->id == $product->variant->id}...{/if}
Я правильно понимаю, в этом условии должен оказаться вывод варианта товара?
-
Доброе время суток.
Подскажите, пожалуйста, как правильно сделать:
На сайте реализовал множественный выбор вариантов, то есть возле каждого можно указывать количество и одним нажатием добавить все в корзину.
Сейчас начал изучать яндекс маркет и оказалось, что при переходе из маркета, должен быть выбран (выделен жирным или подсвечен) именно тот вариант, по которому перешли, то есть адрес страницы имеет вид:
http://demo.simplacms.ru/products/nokia-x3-02?variant=15
Как задать условие, чтобы активному варианту добавлялся новый класс (выделить его)? -
Это частая практика. Отправьте на проверку и за одно напишите в яндекс о проблеме. 1-2 апдейта и проблема пройдет.
-
Подскажите, а как в данный фильтр вывести еще и бренды?
-
Product .ProductsView . ProductsAdmin в бд таблица
Увы, но ни в в ProductsView, ни в ProductsAdmin нет упоминаний о связанных товара.
Предполагаю так:
1. simpla/ProductAdmin.php
2. simpla/design/html/product.tpl
3. view/ProductView.php
4. мой_дизайн/html/product.tpl
5. Новое поле в базу.
Добавьте, пожалуйста, что пропустил
-
Хочу добавить у связанного товара дополнительное текстовое поле, чтобы выводить содержимое на странице товара.
Подскажите, пожалуйста, порядок действий. В каких файлах правки делать?
-
Если на название товара переделать , то скорее всего и ваш обработчик /ajax/oneclick.php нужно будет переделать
Чтобы вывести один вариант (по умолчанию) в Симпле уже в шаблоне есть {$product->variant} вместо {$product->variants}
У меня получается так:
Убрать условие для input:
if($('.variants').find('input[name=variant]:checked').size()>0) variant = $('.variants input[name=variant]:checked').val();
то на почту и в админке пустой заказ. Поэтому и хочу, чтобы проверка была на наличие первого варианта и его же и передавал дальше.
-
Добрый день.
Есть скрипт "Купить в 1 клик" и часть скрипта
if($('.variants').find('input[name=variant]:checked').size()>0) variant = $('.variants input[name=variant]:checked').val(); if( !$('.onename').val() || !$('.onephone').val() ) { alert("Заполните все поля!"); return false; } $.ajax({ type: "post", url: "/ajax/oneclick.php", data: {amount: 1, variant: variant, name: $('.onename').val() , phone: $('.onephone').val() }, dataType: 'json' });
данный вариант подходил для вариантов товара в input.
У меня реализованы варианты с возможностью добавления в корзину нескольких одновременно
Код варианта:
{foreach $product->variants as $v} <tr class="variant var-2"> {if $v->name} <td><label class="variant_name" for="product_{$v->id}">{$v->name}</label></td> {/if} <td> {if $v->compare_price > 0}<span class="compare_price">{$v->compare_price|convert}</span>{/if} <span class="price">{$v->price|convert} <span class="rubznak">a</span>/<span class="currency">{$product->variant->unit}</span></span> </td> <td> <span class="down"><img src="design/{$settings->theme|escape}/images/minus.png"/></span> <input class="mquantity vat_2_pro" name="mquantity[{$v->id}]" value="0" type="text" data-price="{$v->price|convert}"> <span class="up"><img src="design/{$settings->theme|escape}/images/plus.png"/></span> </td> </tr> {/foreach}
Как переписать условие, чтобы он не искал выбранный input, а передавал первый вариант или еще лучше просто наименование товара, не обращая внимания на наличие вариантов.
-
Во-первых, писать сюда цену - риск оказаться нарушителем правил (п. 4.20).
Во-вторых, судя по ответам, кроме Вас, это никому не интересно.
А флуда на форуме и без нас хватает...
Именно про это сказано ранее в п.2.
Считай, что отмазался!
Если бы хотел, ты бы написал конструктив, а не "Да, да, я об этом и говорил".
Если я задал вопрос, значит мне интересно. Я и не рассчитывал, что кому-то тоже нужен будет данный функционал и он поможет.
Я готов оплатить доработку, но адекватным людям и адекватную цену, а не тем, что сначала цену набивает и ждет, пока ему предложат за деньги сделать!
Вопрос актуален! Кто готов подправить/новый написать?
вы должны писать куки для домена а не просто так непонятно куда и для какой страницы. соотвественно переходя куда-то такой куки уже нет потому что она пишется непонятно как.
Мишаня, спасибо за наводку. Но, к сожалению, моих знаний в php не достаточно
-
Loxter, а чего вы в личные сообщения пишете? Пишите сюда! Или Вам тоже кажется, что ценник заоблачный за такое объявили?
-
Дано несколько пунктов конструктива.
Например, 1 означает, что Ваша оценка "Вроде должен в куки записываться, но не срабатывает", скорее всего, неверная. Попробуйте написать понятный конструктив со всеми подробностями, как Вы определили, что в куки не записывается. Подозреваю, что этот тезис не проверяли точно, а взяли с потолка.
Если хотите, чтобы Вам дали несколько строк, после копирования которых у Вас все заработает, то это совсем не просто, требует и знаний и времени. Вряд ли бесплатно кто сделает...
И почему я не удивлен! Ценник объявляй!
-
1. У меня прекрасно записывается в куки. Если у Вас не так, то видимо, у Вас свои индивидуальные причины.
2. В куки записывает довольно небрежно. В зависимости от пути может записывать НЕСКОЛЬКО одинаковых кук, что нерационально.
3. Записанные ранее куки нигде не используются.
4. При загрузке второй и последующих страниц проводится геоопределение заново.
5. Есть и другие ошибки.
Похоже, скрипт какой-то устаревший...
Треба ремонтир...
Уважаемый loxter, а конструктив какой-то можно?
Если, конечно, не сложно!
-
посмотрите эту тему, может поможет решить другим способом.
он работает.
Спасибо за ссылочку, но тут более простая реализация.
Мне нужно именно с выбором города.
Товарищи знатоки, помогите, пожалуйста.
-
Добрый вечер.
Есть скрипт, который определяет город посетителя при входе на сайт, а так же если город определен неправильно, пользователь можно найти и выбрать нужный город.
Код рабочий, может кому пригодится.
НО есть один нюанс. При обновлении страницы, происходит новое определение, то есть значение в куки не записывается.
Может кто-нибудь поможет разобраться? Вроде должен в куки записываться, но не срабатывает.
1. HTML (Размещать в том месте шаблона, где нужно выводить город )
<div class="gor"> <img src="design/{$settings->theme|escape}/images/metka.png"/> <p>Ваш город: </p> <p id="select-city-go">Выбор города</p> </div> <div id="modal1_form"> <span id="modal1_close">X</span> <div id="spisok-gorodov"> <table> <tr><td>Архангельск</td><td>Омск</td></tr> <tr><td>Астрахань</td><td>Орел</td></tr> <tr><td>Барнаул</td><td>Оренбург</td></tr> <tr><td>Владивосток</td><td>Пенза</td></tr> <tr><td>Волгоград</td><td>Пермь</td></tr> <tr><td>Воронеж</td><td>Ростов-на-Дону</td></tr> <tr><td>Екатеринбург</td><td>Рязань</td></tr> <tr><td>Ижевск</td><td>Самара</td></tr> <tr><td>Иркутск</td><td>Санкт-Петербург</td></tr> <tr><td>Казань</td><td>Саратов</td></tr> <tr><td>Кемерово</td><td>Тольятти</td></tr> <tr><td>Красноярск</td><td>Томск</td></tr> <tr><td>Краснодар</td><td>Тула</td></tr> <tr><td>Липецк</td><td>Тюмень</td></tr> <tr><td>Москва</td><td>Уфа</td></tr> <tr><td>Набережные Челны</td><td>Хабаровск</td></tr> <tr><td>Нижний Новгород</td><td>Челябинск</td></tr> <tr><td>Новокузнецк</td><td>Ялта</td></tr> <tr><td>Новосибирск</td><td>Ярославль</td></tr> </table> <a class="button_geo" href=javascript:document.location.reload()>ВЫБРАТЬ</a> </div> <div id="insol-map-modal1"></div> </div> <div id="overlay"></div>
2. Подключаем яндекс карту (в index.tpl внутрь тега <head></head>
<script src="//api-maps.yandex.ru/2.1/?lang=ru_RU" type="text/javascript"></script>
3. JS (Можно подключить отдельным файлом, можно в index.tpl)
<script> jQuery('#select-city-go').click(function() { jQuery('#overlay').fadeIn(400, function(){ jQuery('#modal1_form') .css('display', 'block') .animate({opacity: 1, top: '50%'}, 200); }); jQuery('#select-city-go').click( function(event){ event.preventDefault(); jQuery('#overlay').fadeIn(400, function(){ jQuery('#modal1_form') .css('display', 'block') .animate({opacity: 1, top: '50%'}, 200); }); }); jQuery('#modal1_close, #overlay').click( function(){ jQuery('#modal1_form') .animate({opacity: 0, top: '45%'}, 200, function(){ jQuery(this).css('display', 'none'); jQuery('#overlay').fadeOut(400); } ); }); }); function setCookie(name, value) { document.cookie = name + "=" + value; } function getCookie(name) { var r = document.cookie.match("(^|?" + name + "=([^;]*)(;|$)"); if (r) return r[2]; else return ""; } function deleteCookie(name) { var date = new Date(); date.setTime(date.getTime() - 1); document.cookie = name += "=; expires=" + date.toGMTString(); } jQuery("#spisok-gorodov td").click(function(){ alert(jQuery(this).text()); }); ymaps.ready(function () { geolocation = ymaps.geolocation; var myMapMod = new ymaps.Map('insol-map-modal1', { center: [47.22, 39.71], zoom: 12, controls: [] }); geolocation.get({ provider: 'yandex', mapStateAutoApply: true }).then(function (result) { result.geoObjects.options.set('preset', 'islands#blueIcon'); myMapMod.geoObjects.add(result.geoObjects); var firstGeoObject = result.geoObjects.get(0); coords = firstGeoObject.geometry.getCoordinates(); myMapMod.setZoom(12); city_name=firstGeoObject.properties.get('name'); jQuery('#select-city-go').html(city_name); setCookie("city_name", city_name); }); jQuery("#spisok-gorodov td").click(function(){ city_click=jQuery(this).text(); jQuery('#select-city-go').html(city_click); setCookie("city_name", city_click); ymaps.geocode(city_click, { results: 1 }).then(function (res) { var firstGeoObject = res.geoObjects.get(0), coords = firstGeoObject.geometry.getCoordinates(), bounds = firstGeoObject.properties.get('boundedBy'); myMapMod.geoObjects.add(firstGeoObject); myMapMod.setBounds(bounds, { checkZoomRange: true }); }); }); mySearchControl = new ymaps.control.SearchControl({ options: { noPlacemark: true, position: { left: 0, top: 0 } } }); // Результаты поиска будем помещать в коллекцию. mySearchResults = new ymaps.GeoObjectCollection(null, { hintContentLayout: ymaps.templateLayoutFactory.createClass('$[properties.name]') }); myMapMod.controls.add(mySearchControl); myMapMod.geoObjects.add(mySearchResults); // Выбранный результат помещаем в коллекцию. mySearchControl.events.add('resultselect', function (e) { var index = e.get('index'); var results = mySearchControl.getResultsArray(); coords = results[index].geometry.getCoordinates(); myMapMod.setZoom(12); city_name=results[index].properties.get('name'); jQuery('#select-city-go').html(city_name); setCookie("city_name", city_name); mySearchControl.getResult(index).then(function (res) { mySearchResults.add(res); }); }).add('submit', function () { mySearchResults.removeAll(); }); }); </script>
4. Стили (Минимальный набор)
<style> #modal1_form { width: 720px; height: 360px; border-radius: 5px; background: #fff; position: fixed; top: 45%; left: 50%; margin-top: -170px; margin-left: -350px; display: none; opacity: 0; z-index: 9999999; padding: 20px 10px; } #modal1_form #modal1_close { width: 21px; height: 21px; position: absolute; top: 10px; right: 10px; cursor: pointer; display: block; } #overlay { z-index: 3; position: fixed; width: 100%; height: 100%; top: 0; left: 0; cursor: pointer; display: none; } #insol-map-modal1{width:315px; height:315px;float:right;margin:10px;} #spisok-gorodov { width: 345px; height: 304px; margin: 0px 0px 0px 10px; float: left; } #spisok-gorodov table{width:100%;} #spisok-gorodov td{text-decoration:underline;cursor:pointer;} p#select-city-go { border-bottom: 1px dashed #3a444a; cursor: pointer; } p#select-city-go:hover { color: #4caf50; border-bottom: 1px dashed #4caf50; } .gor { display: flex; justify-content: flex-end; margin-bottom: 3px; color: #246935; } .gor img { margin-right: 10px; } </style>
-
Так работает в указанном месте. Но при этом портит стандартный фильтр в правой части страницы товаров админки - при выборе любой категории показываются для дальнейшей фильтрации ВСЕ бренды, из которых многие ссылки дают страницу БЕЗ товаров.
Пробуйте способ такой:
в simpla/design/html/products.tpl заменить
{if $brands|count>0} <option value="move_to_brand">Указать бренд</option> {/if}
на
{if $all_brands|count>0} <option value="move_to_brand">Указать бренд</option> {/if}
Спасибо большое! Помогло!
-
Доброе время суток.
Может кто-то сталкивался.
В админке выбираю категорию и вижу товары данной категории.
При попытке "Указать бренд" всем товарам данной категории, у некоторых категорий нет вообще данного пункта.
Никаких допилов и т д не было. Чистая cимпла 2.3.7
-
Это стандартная история у яндекса. Проверят и скажут, что через пару апдейтов все пройдет.
Главное сообщите им о проблеме!
-
ну подумать совсем не судьба? замените в cart_informer.tpl ВЕЗДЕ cart->total_products на cart->all_products
тоесть тут ТОЖЕ
{$cart->total_products|plural:'товар':'товаров':'товара'}
Спасибо большое за помощь!
Я занимаюсь дизайном, версткой. Буду вопросы, обращайтесь, помогу!
Я не программист, а вопросы, которые задаю, возникают в процессе обучения вашему ремеслу.
Перед тем как спросить, я попробовал и у меня не получилось. Была допущена ошибка! Вы поправили!
-
Ты же аватар видел
Шучу
На свою посмотри!
Шучу
Новое поле у бренда
in Общие вопросы по функционалу и дизайну
Posted
Точно! Спасибо большое! Все заработало!