-
Публікації
1 818 -
З нами
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем PaulKravchenko
-
-
модуль в предыдущем сообщении содержал ошибку и аттач удален
В итоге модуль делает так:
Если кому-то еще это нужно - пишите в личку, отдам бесплатно))
Если кому-то хочется сделать это самостоятельно и править файлы движка вручную, то ниже инструкция что куда
только вы же должны понимать, что правки файлов - это зло, так что заворачивайте в ocmod или просто закажите доработку и не морочьте никому и ничего)
Спойлер
Файл: admin/controller/sale/order.php
Найти:
$data['shipping_address'] = str_replace(array(
Добавить после:
$this->load->model('catalog/product'); $this->load->model('catalog/manufacturer');
Найти:
$data['products'][] = array(
Добавить перед:
$manufacturer = ''; $product_manufacturer = $this->model_catalog_product->getProduct($product['product_id']); if (!empty($product_manufacturer['manufacturer_id'])) { $manufacturer_info = $this->model_catalog_manufacturer->getManufacturer($product_manufacturer['manufacturer_id']); if ($manufacturer_info) { $manufacturer = html_entity_decode($manufacturer_info['name'], ENT_QUOTES, 'UTF-8'); } }
Найти:
'model' => $product['model'],
Добавить после:
'manufacturer' => $manufacturer,
Найти:
'tab_history'] = $this->language->get('tab_history');
Добавить перед:
$data['column_manufacturer'] = $this->language->get('column_manufacturer');
Файл: admin/language/ru*/sale/order.php
Найти (строка указана не полностью, только переменная):
$_['column_model']
Добавить после:
$_['column_manufacturer'] = 'Производитель';
Аналогично для каждого языка.
Файл: admin/view/template/sale/order_info.tpl
Найти:
<td class="text-left"><?php echo $column_model; ?></td>
Добавить перед:
<td class="text-left"><?php echo $column_manufacturer; ?></td>
Найти:
<td class="text-left"><?php echo $product['model']; ?></td>
Добавить перед:
<td class="text-left"><?php echo $product['manufacturer']; ?></td>
Найти:
<td colspan="4" class="text-right"><?php echo $total['title']; ?></td>
Заменить на:
<td colspan="5" class="text-right"><?php echo $total['title']; ?></td>
-
добавлять в контроллер оформления заказа получение данных о производителях (брендах)
там же создавать переменную производителя
в шаблоне оформления заказа юзать условия с этой самой переменной
+ бесплатно и полезно для саморазвития
- правка кода файлов движка = зло
- никаких настраиваемых условий в интерфейсе, только кодить каждый случай, только хардкор
- используются только те условия, которые добавлены вручную или получены ранее в контроллере, за каждым новым условием вэлкам в код
- на ку-ку столько времени и сил тратить когда есть готовое решение, которое умеет зависимости делать по чему угодно
мое личное мнение: связка Simple + FilterIt = всеми желанная кнопка "Сделать мне хорошо"
- 1
-
18 минут назад, shankara сказал:
Опенкарт думает, что это по прежнему килограммы
а в модуле доставки нет настройки единиц измерения веса?
-
1 минуту назад, marlen сказал:
Это много?
та не - это 8 часов всего
проблема иная - не удаляются закрытые сесии
сорри, я не знаю как в 1.5 это организовано и не могу сказать куда смотреть дальше, надеюсь старшие товарищи подскажут
-
Только что, marlen сказал:
а как их чистить-то?
доместосом))
удалите все кроме сегодняшних например (и то не обязательно их щадить), хоть из файлменеджера хостинга, хоть с фтп (долго)
-
таки сессии, посмотрите время их жизни - параметр session.gc_maxlifetime в php.ini
возможно его задали слишком большим, попробуйте уменьшить
-
Если не нужно костылить, то лучшее решение - это:
-
Посмотрите (покажите) что в этой папке лежит.
Могут быть файлы сессий, которые не очищаются по какой-то причине, но объем великоват даже для трех лет их не_удаления.
-
4 минуты назад, PiratRu сказал:
Может проще зайти: Система/Локализация/Единицы веса - там выбрать по умолчанию?
1. Не там, а в настройках магазина на вкладке Локализация
2. Это не изменит единицу измерения веса в существующих товарах, только для новых.
- 1
-
Для значения SQL запрос такой:
UPDATE `oc_product` SET `weight_class_id` = 2
Для "конвертации" (если нужно будет) запрос такой:
UPDATE `oc_product` SET `weight` = (`weight` * 1000)
- 1
-
а значения тоже, или только единица измерения?
-
извините, я сам запутался и вас запутал))
все верно в таком случае, файл шаблона страницы просмотра заказа таки order_info.tpl
да только самого файла страницы мало т.к. данные производителя не получаются контроллером и не могут быть без этого выведены
за путаницу реабилитируюсь))
в аттаче модуль, устанавливать как обычно через админку
добавляет колонку Производитель за колонкой Товар на странице просмотра заказа в админке
поддерживает русский, английский, украинский
проверен на ocStore 2.3.0.2.3
должен работать и на дефолтном движке и на других 2.3
если не взлетит - стукните в личку с доступами в админку и ftp - помогу настроить
Модуль простой и понятный, операции комментированы, в его исходниках можете сами посмотреть куда и какие правки вносились.
собственно модуль: order-info-product-manufacturers_2.3.ocmod.xml
-
Покажите плиз содержимое этого файла:
system/storage/modification/admin/view/template/sale/order_list.tpl
P.S. да, и.. извините, но давайте уточним - где вы хотите видеть производителя, на странице со списком заказов или на странице просмотра определенного заказа? а то я тут насоветую сейчас))
-
так вам не order_info править нужно, а order_list
только нужно еще в контроллере смотреть получается ли в массив данных заказа информация о производителе, если нет, то добавлять и там
-
@AWARO спасибо! Я и сам новичок, и знаю как было все непонятно сначала... но и интересно))
-
можно так:
catalog/language/ru-ru/product/product.php
после строки
$_['text_stock'] = 'На складе';
добавить еще одну переменную, например:
$_['text_stock2'] = 'На другом складе';
Затем добавьте переменную в контроллер товара:
catalog/controller/product/product.php
ищем
$data['text_stock'] = $this->language->get('text_stock');
добавляем после
$data['text_stock2'] = $this->language->get('text_stock2');
Затем в шаблон товара выводим сие, в файле
catalog/view/theme/<тема>/template/product/product.tpl
ищем похожее на это (в вашей теме может иначе выглядеть, ключевое здесь наличие вызоваязыковой переменной <?php echo $text_stock; ?>):
<i class="fa fa-check fa-fw"></i><span class="text-stock"><?php echo $text_stock; ?></span>
меняем на это (пример опять же):
<?php if ($product_id == 100) { ?><i class="fa fa-check fa-fw"></i><span class="text-stock"><?php echo $text_stock2; ?></span> <?php } else { ?><i class="fa fa-check fa-fw"></i><span class="text-stock"><?php echo $text_stock; ?></span><?php } ?>
где 100 = ID товара на странице которого нужно выводить другую надпись
Наверное есть готовое решение или более изящное, но это все, что я придумал))
- 3
-
catalog/language/ru-ru/product/product.phpпеременная$_['text_instock'] = 'как хотите назвать';
для других языков и для версий до 2.3 файл catalog/language/<назване языка>/product/product.php- 2
-
5 минут назад, autonavi сказал:
Понятно, что нужно учить PHP)
не только, еще и структуру опенкарта, доки по нему есть
-
готовые решения рассматриваете?
-
-
ну вот на вашем примере, только в двух словах: для просто статичного кода или изменения верстки нужно изменять шаблон страницы производителей
catalog/view/theme/<тема>/template/product/manufacturer_info.tpl
но тогда он будет на всех страницах производителей
а чтоб было на каждом разное или где-то было, а где-то нет, нужны условия отображения, а их нужно добавлять в контроллер
catalog/controller/product/manufacturer.php
потом вызывать переменные по условию и т.д.
а при необходимости и в языковые файлы переменные добавлять
ну и так далее
и вообще, плохая практика править код непосредственно в файлах движка - это фактически не даст вам возможности обновиться без перекраивания всего заново, может лишить совместимости с готовыми решениями (модулями/темами)
поэтому, если уж делаете, то смотрите как это сделать через ocmod, только вот более сложные решения потребуют и более сложной структуры - свои контроллеры/модели/расширения/шаблоны
-
1 минуту назад, autonavi сказал:
если например именно на этой странице, хочу вставить блок справа, в колонке
для таких задач подойдет готовое решение:
Разрабатывать свое или ковырять код постоянно - себе дороже, тем более, что в упомянутом выше решении гораздо больший функционал, который пригодится не раз.
-
Только что, autonavi сказал:
способы добавления своего кода(или Seo текста) без использования админки в любом месте или на любых страницах сайта
так чтоб без админки... по ftp в файлах темплейтов/css/js ))
а что с админкой не так?
-
Удалить (не показывать) перечёркнутую цену.
в Opencart 2.x: Загальні питання
Опубліковано: · Змінено користувачем PaulKravchenko
На странице товара так:
Файл: catalog/view/theme/default/template/product/product.tpl
Найти:
Заменить на:
На остальных страницах (категрии, хиты, новые, и т.д.) делать по аналогии в соответствующих шаблонах