Jump to content
Sign in to follow this  
ckopnio

[Поддержка] Произвольные позиции модулей (нужен модуль vqmod)

Recommended Posts

Произвольные позиции модулей (нужен модуль vqmod)


Произвольные позиции модулей (нужен модуль vqmod)


Не стесняйтесь писать в личку перед покупкой моих модулей. Это может Вам сохранить деньги и нервы, а мне только нервы)))

Библиотека позволяет создавать произвольные позиции для модулей. Для работы должен быть установлен модуль vqmod

Демо:

На демо созданы позиции для контроллера home.php. Тоесть, если вы хотите посмотреть на отображение других модулей в этой позиции, размещайте их на схеме Home. Также их можно создать и для других контроллеров.

На главной в новых позициях размещены модуль категорий (над футером).

Для отображения позиции нужно вывести позицию в отображении контроллера.

<?php if(isset($системное_имя_позиции) ) { ?><?php echo $системное_имя_позиции; ?><?php  } ?>

Никаких новых файлов создавать не нужно. Следует только следить за правильностью ввода системного имени позиции, стараться делать его уникальным.

Инструкция:

Форма добавления позиции:

  • Имя позиции: - имя позиции в списке позиций для модуля
  • Системное имя позиции: - шифр позиции, например, content_product. Это имя и будет именем переменной, которую нужно будет вывести в отображении.

Настройки позиций:

В настройках нужно отметить файлы контроллеров к которым будут подключены позиции.

Тестировано на OcStore 1.5.3.1, 1.5.4.1

Скорее всего будет работать и на других версиях

За работу под сборкой Максисторе не ручаюсь

Установка:

Внимание! Должен быть установлен vqmod!

Папка \vqmod\xml\ должна иметь права на запись

1. Скопируйте файлы в корень магазина.

2. Дальше Система-Пользователи-Групы пользователей и выставляем права на просмотр и редактирование модуля.

3. Открываем файл \index.php и добавляем:

// Position$registry->set('position', new Position($registry));

после

// Affiliate$registry->set('affiliate', new Affiliate($registry));

4. В отображении этого контроллера в нужном месте вставляем:

<?php if(isset($системное_имя_позиции) ) { ?><?php echo $системное_имя_позиции; ?><?php  } ?>

Инструкция по установке так же есть в архиве с файлами.

Все замечания и пожелания выражайте, пожалуйста, в теме обсуждения модуля.


 

Share this post


Link to post
Share on other sites

А что это за штука слева ? Как называется этот модуль?

Share this post


Link to post
Share on other sites

я не понимаю как работает данный модуль разъясните наглядно где что и как прописывать???

и еще вот такая ошибка появляется в vqmod manager

---------- Date: 2012-12-10 00:37:52 ~ IP : 127.0.0.1 ----------

REQUEST URI : /admin/index.php?route=module/vqmod_manager/clear_log&token=9b6fdeac22cda0fd2f63b3e14f555748

MOD DETAILS:

modFile : Z:homehome.ruwwwvqmodxmlvqmod_extra_positions.xml

id : EXTRA POSITIONS BY DREAMVENTION.COM

version : 1.1

vqmver : 2.1.6

author : Dreamvention

SEARCH NOT FOUND (ABORTING MOD): $this->data['text_column_right'] = $this->language->get('text_column_right');

----------------------------------------------------------------------

Share this post


Link to post
Share on other sites

Это Вы что-то не в ту тему написали.

DREAMVENTION.COM - это другая тема. Этот дополнение работает по дроугому.

Edited by afwollis

Share this post


Link to post
Share on other sites

у вас подобный код в vqmode ?

ну это отрывок где именно проблема

<file name="admin/controller/module/*.php">

<operation>

<search position="before"><![CDATA[$this->data['text_column_right'] = $this->language->get('text_column_right');]]></search>

<add><![CDATA[

$this->data['text_column_header'] = $this->language->get('text_column_header');

$this->data['text_column_footer'] = $this->language->get('text_column_footer');

$this->data['text_column_extra1'] = $this->language->get('text_column_extra1');

$this->data['text_column_extra2'] = $this->language->get('text_column_extra2');

$this->data['text_column_extra3'] = $this->language->get('text_column_extra3');

$this->data['text_column_extra4'] = $this->language->get('text_column_extra4');

$this->data['text_column_extra5'] = $this->language->get('text_column_extra5');

]]></add>

Share this post


Link to post
Share on other sites

Уважаемый автор! Возможно если Вы снизите цену ,ну скажем до 200 рублей,то этот модуль станет более популярен среди Ваших покупателей.

Share this post


Link to post
Share on other sites

Уважаемый автор! Возможно если Вы снизите цену ,ну скажем до 200 рублей,то этот модуль станет более популярен среди Ваших покупателей.

Возможно))

Но если, например, за 7 дополнительных позиций просят 400 рублей, а я предлагаю неограниченное количесвто позиций, то как-то не комильфо получается))

Share this post


Link to post
Share on other sites

произвольных позиций я понимаю всего 3 ?

под главным меню, над футером, также в карточке товара

Share this post


Link to post
Share on other sites

произвольных позиций я понимаю всего 3 ?

под главным меню, над футером, также в карточке товара

на примере показано три, а их может быть сколько угодно. создаются позиции в админке. в нужном контроллере подключаем обработку позиций и выводим в шаблоне ее.

может моя ошибка в недостаточно полном описании(

Share this post


Link to post
Share on other sites

Так убейте своих конкурентов функционалом и ценой! :-D

Если что , то я буду первым купившим этот модуль!

Share this post


Link to post
Share on other sites

Так убейте своих конкурентов функционалом и ценой! :-D

Функционал отличается, но ведь каждому не угодишь))

А нащет цены, можно ведь все свои дополнения продавать пачкой за 100 рублей. Популярность будет, думаю, высочайшая, но как-то глупо...

Share this post


Link to post
Share on other sites

в нужном контроллере подключаем обработку позиций и выводим в шаблоне ее.

эм.. это вручную нужно добавить позицию в контроллер и в шаблон? я плохо понимаю как это работает..

например мне нужно вывести модуль "Хиты" ниже футера. мои действия?

Share this post


Link to post
Share on other sites

эм.. это вручную нужно добавить позицию в контроллер и в шаблон? я плохо понимаю как это работает..

например мне нужно вывести модуль "Хиты" ниже футера. мои действия?

Создали в админке позицию - Имя - "Ниже футера", Системное имя - "bottom_footer", например

В модуле позиция появится через vqmod. Выбрали нужную позицию в модуле

В catalogcontrollercommonhome.php или в catalogcontrollercommonfooter.php (смотря в каком шаблоне Вы хотите отобразить позицию, ниже футера может быть и в home.tpl и в footer.tpl) вставляете:

$positions = $this->load->position->data;
		if(!empty($positions)){
			foreach($positions as $key => $value) {
				$this->data[$key] = '';
				$module_html = '';
				if(!empty($value)) {
					foreach($value as $val) {
						$child = 'module/'.$val['code'];
						$args = $val['setting'];
						$module_html .= $this->getChild($child,$args);
					}
				}
				$this->data[$key] .= $module_html;
			}
		}
после

public function index() {
Можно было бы через vqmod подключить во все контроллеры этот код, но это лишняя нагрузка. Хотя выслушаю Ваши предложения.

Дальше выводите позицию в шаблоне:

<?php if(isset($bottom_footer) ) : ?>
<?php echo $bottom_footer; ?>
<?php endif;?>

Главный минус тут в том, что нужно править и контроллер и шаблон, но это всеравно на много легче, чем создавать позицию с ноля.

В том виде в каком сейчас расширение, оно скорее ориентировано на разработчиков, а не на простых пользователей.

Share this post


Link to post
Share on other sites

Создали в админке позицию - Имя - "Ниже футера", Системное имя - "bottom_footer", например

В модуле позиция появится через vqmod. Выбрали нужную позицию в модуле

В catalogcontrollercommonhome.php или в catalogcontrollercommonfooter.php (смотря в каком шаблоне Вы хотите отобразить позицию, ниже футера может быть и в home.tpl и в footer.tpl) вставляете:

$positions = $this->load->position->data;
		if(!empty($positions)){
			foreach($positions as $key => $value) {
				$this->data[$key] = '';
				$module_html = '';
				if(!empty($value)) {
					foreach($value as $val) {
						$child = 'module/'.$val['code'];
						$args = $val['setting'];
						$module_html .= $this->getChild($child,$args);
					}
				}
				$this->data[$key] .= $module_html;
			}
		}
после

public function index() {
Можно было бы через vqmod подключить во все контроллеры этот код, но это лишняя нагрузка. Хотя выслушаю Ваши предложения.

Дальше выводите позицию в шаблоне:

<?php if(isset($bottom_footer) ) : ?>
<?php echo $bottom_footer; ?>
<?php endif;?>

Главный минус тут в том, что нужно править и контроллер и шаблон, но это всеравно на много легче, чем создавать позицию с ноля.

В том виде в каком сейчас расширение, оно скорее ориентировано на разработчиков, а не на простых пользователей.

н-да...

зачем программисту такой гемор?

гораздо проще сделать как в описании

https://opencartforum.com/files/file/745-%d0%bf%d1%80%d0%b5%d0%b4%d1%8b%d0%b4%d1%83%d1%89%d0%b8%d0%b9-%d1%81%d0%bb%d0%b5%d0%b4%d1%83%d1%8e%d1%89%d0%b8%d0%b9/

Share this post


Link to post
Share on other sites

н-да...

зачем программисту такой гемор?

гораздо проще сделать как в описании

http://opencartforum...89%d0%b8%d0%b9/

Это дело каждого. Я же не принуждаю никого это использовать))

Меня это вполне устраивает и свой профит я забираю на тех проектах, которые разрабатываю.

В Вашем примере показано подключение в дочерние элементы, но это ведь не есть секретом каким-либо. Это продемонстрировано в конроллере header.php. Так можно любой другоой контроллер подключать к другому.

Тут речь идет о позициях, об одном из способов сделать дизайн гибким.

А каждый выбирает для себя оптимальный вариант.

Share this post


Link to post
Share on other sites

Это дело каждого. Я же не принуждаю никого это использовать))

Меня это вполне устраивает и свой профит я забираю на тех проектах, которые разрабатываю.

В Вашем примере показано подключение в дочерние элементы, но это ведь не есть секретом каким-либо. Это продемонстрировано в конроллере header.php. Так можно любой другоой контроллер подключать к другому.

Тут речь идет о позициях, об одном из способов сделать дизайн гибким.

А каждый выбирает для себя оптимальный вариант.

делать дизайн гибким не значит вручную прописывать вывод модуля в шаблоне ))

у вас так же идет подключение дочернего

$module_html .= $this->getChild($child,$args);
но как-то слишком сложно. мой вам совет - не ищите сложный путей для простых задач )

Share this post


Link to post
Share on other sites

делать дизайн гибким не значит вручную прописывать вывод модуля в шаблоне ))

у вас так же идет подключение дочернего

$module_html .= $this->getChild($child,$args);
но как-то слишком сложно. мой вам совет - не ищите сложный путей для простых задач )
За совет спасибо, конечно))

Подключение дочерних, да, но каких именно можно выбрать в админке и конкретно в котроллере их имена не прописываются.

Я преследовал цель автоматизовать создание положений, тоесть управление ими из админки. Конечно, меня самого смущает добавление кода в ручную, но это еще не значит, что идея безнадежна, это только значит, что есть куда двигатся))

Share this post


Link to post
Share on other sites

freelancer

Вот, например, такая ситуация:

Заказчик требует от Вас такого решения, чтобы он в последствии мог потом без обращения к Вам легко разместить модуль в любом месте. Где ему захочется. Как Вы решите это?

Я, с помощью этого расширения, например, могу сделать так:

- уберу подключение стандартных позиций в контроллерах, чтобы не было лишней нагрузки

- 4 стандартных позиции продублирую в этом расширении и они будут работать так же

- во всех конроллерах подключу обработку позиций

И в конечном итоге пользователю нужно будет только уметь создать позицию в админке и отобразить ее в шаблоне:

<?php if(isset($системное_имя_позиции) ) : ?>
<?php echo $системное_имя_позиции; ?>
<?php endif;?>

Эта дискусия меня увлекает, поэтому хочу Ваш вариант услышать)))

Share this post


Link to post
Share on other sites

Эта дискусия меня увлекает, поэтому хочу Ваш вариант услышать)))

пользователь добавит две строчки. одну в контроллер, другую в шаблон. вопрос только в настройках ($settings), моим способом их передать нельзя

Share this post


Link to post
Share on other sites

пользователь добавит две строчки. одну в контроллер, другую в шаблон. вопрос только в настройках ($settings), моим способом их передать нельзя

И в контроллере он, как обычно, может напартачить, а работая только с шаблоном такой риск снижается.

Каждая идея имеет право на жизнь. И согласитесь, что зачатсую обьяснить клиенту, что вот мол есть стандартный функционал и от него следует отпиратся и т.д. не получается. Он говорит, что его сосед может в своем интерент-магазине размещать модули в любом месте и он тоже так хочет.

И каждый программист имеет свое решения этой проблемы)

Share this post


Link to post
Share on other sites

И в контроллере он, как обычно, может напартачить, а работая только с шаблоном такой риск снижается.

Каждая идея имеет право на жизнь. И согласитесь, что зачатсую обьяснить клиенту, что вот мол есть стандартный функционал и от него следует отпиратся и т.д. не получается. Он говорит, что его сосед может в своем интерент-магазине размещать модули в любом месте и он тоже так хочет.

И каждый программист имеет свое решения этой проблемы)

эм.. а в вашем случае только это нужно добавить?

<?php if(isset($системное_имя_позиции) ) : ?>
<?php echo $системное_имя_позиции; ?>
<?php endif;?>

Share this post


Link to post
Share on other sites

эм.. а в вашем случае только это нужно добавить?

<?php if(isset($системное_имя_позиции) ) : ?>
<?php echo $системное_имя_позиции; ?>
<?php endif;?>
Если подключить обработку позиций(я приводил код выше) через vqmod, или сразу во все контроллеры подключить, то да только это.

Но, я думаю, в таком случае стоит отключить стандартные позиции из дочерних и обрабатывать их с помощью этого расширения, так как будет лишняя нагрузка.

Повторюсь, это ориентировано на разработчиков. Например, нестандартный дизайн и сразу видно, что 4 позиций мало. Один раз установил это расширение, настроил, а дальше только в шаблоне, в нужном месте:

<?php if(isset($системное_имя_позиции) ) : ?>
<?php echo $системное_имя_позиции; ?>
<?php endif;?>
А можно ведь и свою сборку сделать, где все будет уже настроено.

И поэтому цена такая. Согласитесь, что поставив цену 200, например, все же кинутся покупать неглядя, а потом - "А как это работает? А я думал, что там сразу будет over 100500 позиций"

Share this post


Link to post
Share on other sites

И поэтому цена такая. Согласитесь, что поставив цену 200, например, все же кинутся покупать неглядя, а потом - "А как это работает? А я думал, что там сразу будет over 100500 позиций"

да и за 200 не кинутся.

в цену включена помощь в настройке? если да, то вполне нормально.. пользователи не будут покупать кота в мешке )

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By svarcka
      Есть действующий интернет магазин на Opencart 2.3.0.2. Ищем программиста на удаленную работу. На текущий момент есть несколько направлений, в рамках которых будут формулироваться задачи по модернизации сайта:
      1.       Верстка страниц (переверстка элементов) по сформированному макету
      2.       Установка и настройка модулей
      3.       Написание модулей согласно ТЗ и макету
      4.       Проведение технических настроек сайта
      При ответе просьба указать:
      1.       Какие языки и библиотеки в основном используете
      2.       Опыт работы в Opencart
      3.       Формат работы и оплаты
    • By lupusrb
      Добрый день! Меня зовут Сергей! Покупал модуль карты сайта у студии Нео Сео https://neoseo.com.ua/  для сайта мсв бай. Стоимость модуля по сравнению с конкурентами не самая низкая, думал оплачу, но получу качество и проблем будет меньше, но мне наверное не повезло). Были вопросы по установке лицензии, не становилась(. Вел переписку с ребятами начиная с пятницы по среду следующей недели), просил что бы помогли-посмотрели, деньги уплачены, а ничего не работает. Каждый день, обещали, что "сегодня",  но в конце концов сделали-поставили, за что спасибо большое! Объяснение такое было, много работы, вы в конце списка), но пойдем вам на уступку. Вообщем по итогу модуль стоит, но из за того что админ панель сайта на другом домене, предложили купить еще одну лицензию), по итогу надо 2 раза оплатить. К слову скажу с другими разработчиками на данном сайте у меня вопросов не было таких)  Вот такая ситуация! Как только настрою смогу точно сказать стоило ли это модуль нервов и денег на него по траченых. Пока впечатление не сильно хорошее осталось. Из положительного, хочу отметить вежливость в ответах и то что в конце концов сделали)) Спасибо!
       
    • By whiteblue
      Данный модуль предназначен для повышения продаж, предлагая бесплатные подарки при достижении определенных условий.
       
      Демо
      Админка
      gifts/gifts

      Эти условия устанавливаются в админке модуля. Покупатель должен совершить покупку товаров на определённую сумму или больше.
      Также есть возможность выбрать несколько товаров в разных товарных группах. Отличительной особенностью данного модуля
      является то, что клиент может сам выбрать себе подарок из нескольких назначенных вами. При помощи данного модуля вы будете стимулировать покупателей увеличивать сумму чека.
      Подарок будет отображаться во всех товарах категории, к которой он принадлежит.
      Примеры использования данного модуля:
      "купи фотоаппарат и получи в подарок карту памяти", "закажи пиццу и получи бутылку пепси в подарок" и т.д.
      Инструкция.docx
       
       
    • By whiteblue
      300.00 руб
      Скачать/Купить дополнение


      Подарки Opencart
      Данный модуль предназначен для повышения продаж, предлагая бесплатные подарки при достижении определенных условий.
       
      Демо
      Админка
      gifts/gifts

      Эти условия устанавливаются в админке модуля. Покупатель должен совершить покупку товаров на определённую сумму или больше.
      Также есть возможность выбрать несколько товаров в разных товарных группах. Отличительной особенностью данного модуля
      является то, что клиент может сам выбрать себе подарок из нескольких назначенных вами. При помощи данного модуля вы будете стимулировать покупателей увеличивать сумму чека.
      Подарок будет отображаться во всех товарах категории, к которой он принадлежит.
      Примеры использования данного модуля:
      "купи фотоаппарат и получи в подарок карту памяти", "закажи пиццу и получи бутылку пепси в подарок" и т.д.
      Инструкция.docx
       
       
      Добавил whiteblue Добавлено 18.06.2018 Категория Модули Системные требования Сайт разработчика http://white-blue.com.ua/ Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.1 ocStore 2.3
      2.1 OpenCart.Pro, ocShop Обращение к серверу разработчика Нет  
    • By Dimandimanqaz
      Здравствуйте. Стоит модуль "Автоматическая обработка прайс-листов". После обновления кэша модификаторов столкнулся с проблемой - в меню Каталог пропала ссылка "Поставщики". До этого ещё обновляли модуль до последней версии.
      Opencart 2.3.0.2.3
      В чём может быть причина?
  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.