Спасибо, тоже полезно будет, как без модуля реализуется.
Я скоро выпущи видео урок по построению запросов к БД.
Форум ReadyScript Сообщения от Закусило Александр
Спасибо, тоже полезно будет, как без модуля реализуется.
Я скоро выпущи видео урок по построению запросов к БД.
Создайте файл в корне сайта с именем допустим info.php.
Можно составить запрос через ORM объект запрос:
<?php
require('setup.inc.php');
$list = \RS\ORM\Request::make()
->select('id, title, barcode')
->from(new \Catalog\Model\Orm\Product())
->where("weight IN ('',0, ' ') OR weight IS null")->exec()
->fetchSelected(null);
echo "
<p>Товары без веса</p>
<table>";
if (!empty($list)){
foreach($list as $item){
echo "<tr>
<td>
".$item['id']."
</td>
<td>
".$item['title']."
</td>
<td>
".$item['barcode']."
</td>
</tr>";
}
}
echo "</table>";
Удалите этот файл он depricated (устаревший) и float.inc.php
Супер!!! Спасибо!
Насколько я помню, у Вас не сама young, а переделанная на её основе.
Тогда заходим в /templates/Ваша тема/moduleview/catalog/blocks/sidefilters/filters.tpl
и меняем места вот это:
{if $param.show_brand_filter && count($brands)>1}
<div class="filter typeMultiselect">
<h4>{t}Производитель{/t}: <a class="removeBlockProps hidden" title="{t}Сбросить выбранные параметры{/t}"></a></h4>
<ul class="propsContentSelected hidden"></ul>
<ul class="propsContent">
{foreach $brands as $brand}
<li>
<input type="checkbox" {if is_array($basefilters.brand) && in_array($brand.id, $basefilters.brand)}checked{/if} name="bfilter[brand][]" value="{$brand.id}" class="cb" id="cb_{$brand.id}_{$smarty.foreach.i.iteration}">
<label for="cb_{$brand.id}_{$smarty.foreach.i.iteration}">{$brand.title}</label>
</li>
{/foreach}
</ul>
</div>
{/if}
и вот это
{foreach $prop_list as $item}
{foreach $item.properties as $prop}
{if $prop.type == 'int'}
<div class="filter typeInterval">
<h4>{$prop.title}:</h4>
<table class="fullwidth typeInterval fromToLine">
<tbody>
<tr>
<td class="p50">от, {$prop.unit}</td>
<td></td>
<td class="p50">до, {$prop.unit}</td>
</tr>
<tr>
<td><input type="text" class="textinp fromto" name="f[{$prop.id}][from]" value="{$filters[$prop.id].from|default:$prop.interval_from}" data-start-value="{$prop.interval_from}"></td>
<td class="padd4">—</td>
<td><input type="text" class="textinp fromto" name="f[{$prop.id}][to]" value="{$filters[$prop.id].to|default:$prop.interval_to}" data-start-value="{$prop.interval_to}"></td>
</tr>
</tbody>
</table>
<input type="hidden" data-slider='{ "from":{$prop.interval_from}, "to":{$prop.interval_to}, "step": "{$prop.step}", "round": {$prop->getRound()}, "dimension": " {$prop.unit}", "heterogeneity": [{$prop->getHeterogeneity()}], "scale": [{$prop->getScale()}] }' value="{$filters[$prop.id].from|default:$prop.interval_from};{$filters[$prop.id].to|default:$prop.interval_to}" class="pluginInput" data-start-value="{$prop.interval_from};{$prop.interval_to}">
</div>
{elseif $prop.type == 'list'}
<div class="filter typeMultiselect">
<h4>{$prop.title}: <a class="removeBlockProps hidden" title="{t}Сбросить выбранные параметры{/t}"></a></h4>
<ul class="propsContentSelected hidden"></ul>
<ul class="propsContent">
{foreach $prop->getAllowedValues() as $key => $value}
<li><input type="checkbox" {if is_array($filters[$prop.id]) && in_array($value, $filters[$prop.id])}checked{/if} name="f[{$prop.id}][]" value="{$value}" class="cb" id="cb_{$prop.id}_{$value@iteration}">
<label for="cb_{$prop.id}_{$value@iteration}">{$value}</label></li>
{/foreach}
</ul>
</div>
{elseif $prop.type == 'bool'}
<div class="filter">
<h4>{$prop.title}:</h4>
<select class="yesno" name="f[{$prop.id}]" data-start-value="">
<option value="">{t}Неважно{/t}</option>
<option value="1" {if $filters[$prop.id] == '1'}selected{/if}>{t}Есть{/t}</option>
<option value="0" {if $filters[$prop.id] == '0'}selected{/if}>{t}Нет{/t}</option>
</select>
</div>
{else} {* string *}
<div class="filter">
<h4>{$prop.title}:</h4>
<input type="text" class="textinp string" name="f[{$prop.id}]" value="{$filters[$prop.id]}">
</div>
{/if}
{/foreach}
{/foreach}
Подскажите, как перенести?
Какая у Вас тема оформления?
Напишите нам платную задачу в helpdesk.readyscript.ru. Вам всё посчитают.
На основе молодёжной
Зайдите в Веб-сайт->Конструктор сайта->Нажмите на шестерёнку на вкладке "Сравнение товаров". Поставьте там галочку - наследовать шаблон по умолчанию. Нажмите сохранить.
Нет. Только если в шаблоне перенести кусок кода.
Прикольно))
Добрый день! Приобрёл лицензию. Теперь хочу начать разработку на локальном сервере, но при этом мне нужно установить модуль миграции с Opencart. Пытаюсь установить пишет "Лицензия отсутствует или не подтверждена". Что нужно сделать? Ведь не могу я поставить все на работающий магазин и наполнять его на "живую". Спасибо.
Дело в том, что для скачивания и установки модулей из магазина дополнений, даже бесплатных, надо, чтобы у Вас была активирована хотя бы одна лицензия. Вы можете приобрести временную лицензию на 1 месяц и тогда устанавливать себе нужные модули.
Это можно сделать доп. модулем причём не дорогим, т.к. надо будет вывести несколько колонок всего. В стандарте пока такого нет. Ну или можете написать пожелание в сервис пожеланий.
У вас какая тема оформления?
Здравствуйте.
Решил добавить видеоурок по основным функциям каталога товаров и работе с ним в админ панели. Вот что из этого вышло:
https://www.youtube.com/watch?v=C33uxWX … c3cBdJ4u31
Видео не профессиональное, но думаю для начинающих пользователей будет полезное.
Александр, я попробовал сделать так, как Вы написали. Не получилось. Просто только "шапка" и "подвал". По центру ничего. Тема "Детская"
Попробуйте добавить блок в середину "Главное содержимое страницы" и поместите его выше Вашего блока с выводом комментариев
Ну Вы зарисуйте как Вам надо. Я Вам подскажу как реализовать. Или расскажите подробнее как должно всё должно происходить.
Вот код под новую Google Analytics.
Его надо добавить на страницу финиша с самый конец как и было указано выше
{* Добавим скрипт Google аналитики *}
<script type="text/javascript">
/**
* Загружает аналитику электронной коммерции
*/
function loadGoogleAnalyticsEcommerce()
{
ga('require', 'ecommerce');
ga('ecommerce:addTransaction', {
'id': '{$order.order_num}', // id Заказа
'affiliation': 'Ониточки', // Имя магазина
'revenue': '{$orderdata.total_cost_noformat}', // Всего за заказ
'shipping': '0', // Стоимость доставки
'currency': 'RUB', // Валюта в которой продаём
'tax': '0' // Налог
});
//Переберём товары и добавим сведения
{foreach from=$orderdata.items item=item key=n name="basket"}
{assign var=orderitem value=$item.cartitem}
{$barcode=$orderitem.barcode}
{$offer_title=$orderitem.model}
{$multioffer_titles=$item.cartitem->getMultiOfferTitles()}
ga('ecommerce:addItem', {
'id': '{$order.order_num}', // id Заказа
'name': '{$orderitem.title}', // Имя товара
'sku': '{$barcode}', // Артикул
'category': '{$offer_title}', // Комплектация
'price': '{$item.single_cost_noformat}', // Цена
'currency': 'RUB', // Валюта в которой продаём
'quantity': '{$orderitem.amount}' // Quantity.
});
{/foreach}
//Отправим данные
ga('ecommerce:send');
}
$(window).load(function(){
setTimeout(loadGoogleAnalyticsEcommerce, 2000);
});
</script>
Название магазина изменить под себя соответственно.
К сожалению такой вариант не подходит. Спасибо Вам за варианты. А не могли бы Вы подсказать как это организовать js скриптом?
А чем он не подходит? Он же полностью решит Вашу задачу.
По простому пути.
Даже если указываю иной шаблон, все равно нужно копировать структуру category.tpl.
Ну тогда просто перенесите себе содержимое из другого шаблона.
В режиме правки блок с категориями пропадает.
Скорее всего он перемещается. Либо становится маленьким. Наведитесь на место где должен быть блок.
Подскажите а как вывести на главной сами категории и подкатегории. Допустим в теме воздушная, есть меню с категориями и подкатегориями. Вот такое же аналогично хочу вывести. По сути нужен вид раскрытого меню и вывод в любом месте. Пока не могу понять в каком файле содержится конструкция. Или есть такой блок, который это выводит.
Категории выводит блок контроллер по пути
/modules/catalog/controller/block/category.inc.php .
Если в него заглянуть, то там есть строка
'indexTemplate' => 'blocks/category/category.tpl',
Т.е. это и есть путь к шаблону по умочанию который показывает ваши категории.
В каждой теме оформления кроме, той что по умолчанию путь к категориям будет такой
/templates/ВАША ТЕМА/moduleview/catalog/blocks/category/category.tpl
Воздушная это тема с именем perfume.
Можно скопировать шаблон, а можно пойти и по простому пути. Простой путь это в публичной части, если Вы будете находится под админом нужно переключиться в режим правки (слева в самом верху включатель). Потом навестись на Ваш блок с выводом категорий. Появятся кнопки настройки блока. Там можно указать новый путь к Вашему шаблону. Стили естественно подгружены не будут. Вы можете прописать их самостоятельно, либо перекинуть себе в style.css из воздушной темы.
Строки в этом шаблоне отвечающие за фильтры по брендам это:
{if $param.show_brand_filter && count($brands)>1}
<div class="filter typeMultiselect">
<h4>{t}Производитель{/t}: <a class="removeBlockProps hidden" title="{t}Сбросить выбранные параметры{/t}"></a></h4>
<ul class="propsContentSelected hidden"></ul>
<ul class="propsContent">
{foreach $brands as $brand}
<li>
<input type="checkbox" {if is_array($basefilters.brand) && in_array($brand.id, $basefilters.brand)}checked{/if} name="bfilter[brand][]" value="{$brand.id}" class="cb" id="cb_{$brand.id}_{$smarty.foreach.i.iteration}">
<label for="cb_{$brand.id}_{$smarty.foreach.i.iteration}">{$brand.title}</label>
</li>
{/foreach}
</ul>
</div>
{/if}
По идее есть сделать из него выпадающий список <select>, то всё будет работать.
{if $param.show_brand_filter && count($brands)>1}
<div class="filter typeMultiselect">
<h4>{t}Производитель{/t}: <a class="removeBlockProps hidden" title="{t}Сбросить выбранные параметры{/t}"></a></h4>
<ul class="propsContentSelected hidden"></ul>
<div class="propsContent">
<select name="bfilter[brand][]" class="yesno">
{foreach $brands as $brand}
<option {if is_array($basefilters.brand) && in_array($brand.id, $basefilters.brand)}selected{/if} value="{$brand.id}">{$brand.title}</option>
{/foreach}
</select>
</div>
</div>
{/if}
Ну можно подредактировать шаблон и переделать на выпадающий список. Шаблон с фильтрами находятся в
/modules/catalog/view/blocks/sidefilters/filters.tpl Скопируйте его в
/templates/ВАША ТЕМА/moduleview/catalog/blocks/sidefilters/filters.tpl
и можете редактировать.
Там нужно посмотреть признак оборачивающего блока data.options.amountWraper и data.options.amountField
В чём проблема то?
Так а в чём проблема?
Форум ReadyScript Сообщения от Закусило Александр