Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Модуль Замена кнопки "купить" на реф. ссылку [Подгдержка]


Recommended Posts

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

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

Link to comment
Share on other sites


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

это у вас узкий функционал, не для модуля.

 

короче видимо модуль и ик хорошо, осивляем как есть :)

Link to comment
Share on other sites

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

да можно что угодно, но кроме вас никому он не бугдет нужен :) потому и говорю что он "узкий"

Link to comment
Share on other sites

ну тут я не согласен, потому чтольшинство популярных модулей, функционал используется на половину. главное, чем потому чтольше модуль предосивляет возможностей тем потому чтолее он вострепотому чтован. Это как в правилах маркетинга - если вы игдете на рыбалку вы берете червей, потому что на них ловится рыба, а не конькак с лимоном - потому что он нравится вам. И к тому же реф ссылки имеют многоплановое применение и чем потому чтольше модуль позволяет этих применений реализовать тем потому чтольше спрос. Взять к примеру модуль simple 3.8.3 - в нем реализовано много функций, которые в обещём то бесплатно можно скачать по отгдельности, но с учетом того что в нем это все реализовано единым модулем люди охотно его покупают. Вы же не можете судить о всех спектрах задач которые сивят перед сопотому чтой пользователи. 

А вообещё, (Конечно с учетом своих интересов :) ) я хотел помочь с развитием модуля, и вам принимать решение что нужно а что нет

Link to comment
Share on other sites


Много ли изменений нужно вносит, что бы модуль мог рилиить в шаблонах отличных от гдефолтного?

На других шаблонах он у меня ик и не зарилиил.

Link to comment
Share on other sites


ну тут я не согласен, потому чтольшинство популярных модулей, функционал используется на половину. главное, чем потому чтольше модуль предосивляет возможностей тем потому чтолее он вострепотому чтован. Это как в правилах маркетинга - если вы игдете на рыбалку вы берете червей, потому что на них ловится рыба, а не конькак с лимоном - потому что он нравится вам. И к тому же реф ссылки имеют многоплановое применение и чем потому чтольше модуль позволяет этих применений реализовать тем потому чтольше спрос. Взять к примеру модуль simple 3.8.3 - в нем реализовано много функций, которые в обещём то бесплатно можно скачать по отгдельности, но с учетом того что в нем это все реализовано единым модулем люди охотно его покупают. Вы же не можете судить о всех спектрах задач которые сивят перед сопотому чтой пользователи. 

А вообещё, (Конечно с учетом своих интересов :) ) я хотел помочь с развитием модуля, и вам принимать решение что нужно а что нет

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

 

 

Много ли изменений нужно вносит, что бы модуль мог рилиить в шаблонах отличных от гдефолтного?

На других шаблонах он у меня ик и не зарилиил.

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

Link to comment
Share on other sites

И ничего не правили?

в версии 1.2. подправлял <file name="catalog/view/theme/*/ звездочка по умолчанию шла на гдефолтную тему, заменял на свою. проверти пути к указанным файлам в вашей теме и измените на нужный путь.

в версии 1.3. просто заменил файл OpenRefLink и ошипотому чток пока не вижу (и лог не ругается) возможно у меня темы близкие к гдефолтной

Link to comment
Share on other sites


в версии 1.2. подправлял <file name="catalog/view/theme/*/ звездочка по умолчанию шла на гдефолтную тему, заменял на свою. проверти пути к указанным файлам в вашей теме и измените на нужный путь.

в версии 1.3. просто заменил файл OpenRefLink и ошипотому чток пока не вижу (и лог не ругается) возможно у меня темы близкие к гдефолтной

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

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites


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

может кэш или vqmod сирой версии

Link to comment
Share on other sites

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

Link to comment
Share on other sites


  • 3 weeks later...

может кеш не спорю, vqmod у меня последний

у меня самый последний VQmod начал ругаться на 1.5.5.1.1

Поэтому сейчас 2.4.0 стоит)

Link to comment
Share on other sites


Здравствуйте. Прошу помощи в интеграции плагина под свой шаблон

 

Кнопки в разгделах, товарах, поменялись без проблем, но вот в несиндартных модулях не поменялись

 

Проблема в чем:
На главной страниэто есть модуль который выводит в ибах товары.

 

Да вот не получается  подружить этот модуль с плагином.
Демо тема _http://www.pavothemes.com/demo/?theme=pav_fashion (блок LATEST BEST SELLER SPECIAL )

код модуля producttabs.tpl

 

<div class="cart">
	<i class=" fa fa-shopping-cart"></i>
	<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
											    </div>
 <div class="wishlist-compare">
  <a class="wishlist fa fa-heart" onclick="addToWishList('<?php echo $product['product_id']; ?>');" title="<?php echo $this->language->get("button_wishlist"); ?>" ><span><?php echo $this->language->get("button_wishlist"); ?></span></a>
 <a class="compare fa fa-retweet"  onclick="addToCompare('<?php echo $product['product_id']; ?>');" title="<?php echo $this->language->get("button_compare"); ?>" ><span><?php echo $this->language->get("button_compare"); ?></span></a>
												</div>

Код контроллера (незнаю какой именно блок взять, потому укажу полностью код pavproducttabs.php)
 

<?php  
/******************************************************
 * @package Pav Product Tabs module for Opencart 1.5.x
 * @version 1.0
 * @author http://www.pavothemes.com
 * @copyright	Copyright (C) Feb 2012 PavoThemes.com <@emai:[email protected]>.All rights reserved.
 * @license		GNU General Public License version 2
*******************************************************/

class ControllerModulePavproducttabs extends Controller {
	protected function index($setting) {
		static $module = 0;
		
		$this->load->model('catalog/product'); 
		$this->load->model('tool/image');
		$this->language->load('module/pavproducttabs');
		
		//fix colorbox for quickview
		$this->document->addStyle('catalog/view/javascript/jquery/colorbox/colorbox.css');
		$this->document->addScript('catalog/view/javascript/jquery/colorbox/jquery.colorbox-min.js');
		$this->data['button_cart'] = $this->language->get('button_cart');
		if (file_exists('catalog/view/theme/' . $this->config->get('config_template') . '/stylesheet/pavproducttabs.css')) {
			$this->document->addStyle('catalog/view/theme/' . $this->config->get('config_template') . '/stylesheet/pavproducttabs.css');
		} else {
			$this->document->addStyle('catalog/view/theme/default/stylesheet/pavproducttabs.css');
		}
		$default = array(
			'latest' => 1,
			'limit' => 9
		);
		$this->data['width'] = $setting['width'];
		$this->data['height'] = $setting['height'];
		$this->data['cols']   = (int)$setting['cols'];
		$this->data['itemsperpage']   = (int)$setting['itemsperpage'];

		$this->data['module_class'] = $setting['module_class'];
	
		$this->data['tabs'] = array();
		
	$data = array(
			'sort'  => 'p.date_added',
			'order' => 'DESC',
			'start' => 0,
			'limit' => $setting['limit']
		);
		 $setting['tabs'] = array_flip(  $setting['tabs'] );
		$products = array();
		$this->data['heading_title'] ='';
		$tabs = array(
			'latest' 	 => array(),
			'featured'   => array( ),
			'bestseller' => array(),
			'special'   => array(),
			'mostviewed' => array()
		);	
 		if(isset($setting['tabs']['featured'])){
			$tabs['featured'] = $this->getProducts( $this->getFeatured($data), $setting );
		}
		if( isset($setting['tabs']['latest']) ){
			$tabs['latest'] = $this->getProducts( $this->model_catalog_product->getProducts( $data ), $setting );
	 	}
		if( isset($setting['tabs']['bestseller']) ){
			$tabs['bestseller'] = $this->getProducts( $this->model_catalog_product->getBestSellerProducts( $data['limit'] ), $setting );
	 	}
		if( isset($setting['tabs']['special']) ){
			$tabs['special'] = $this->getProducts( $this->model_catalog_product->getProductSpecials( $data ), $setting );
		}
		if( isset($setting['tabs']['mostviewed']) ){
			$data['sort'] = 'p.viewed';
			$tabs['mostviewed'] = $this->getProducts( $this->model_catalog_product->getProducts( $data ), $setting );
		}
		
		$this->data['module_description'] = isset($setting['description'][$this->config->get('config_language_id')])?$setting['description'][$this->config->get('config_language_id')]:"";
		$this->data['module_description'] = (html_entity_decode($this->data['module_description'], ENT_QUOTES, 'UTF-8'));
  
		$this->data['tabs'] = $tabs;
		$this->data['module'] = $module++;
						
		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/pavproducttabs.tpl')) {
			$this->template = $this->config->get('config_template') . '/template/module/pavproducttabs.tpl';
		} else {
			$this->template = 'default/template/module/pavproducttabs.tpl';
		}
		
		$this->render();
	}
	private function getFeatured($option = array()){
		$products = explode(',', $this->config->get('featured_product'));
		$return = array();
		if(!empty($products)){
			$limit = (isset($option['limit']) && !empty($option['limit']))?$option['limit']: 5;
			$products = array_slice($products, 0, (int)$limit);
			foreach ($products as $product_id) {
				$product_info = $this->model_catalog_product->getProduct($product_id);
				$return[] = $product_info;
			}
		}
		return $return;
	}
	private function getProducts( $results, $setting ){
		$products = array();

		$themeConfig = $this->config->get('themecontrol');
		$swap = isset($themeConfig['show_swap_image'])?$themeConfig['show_swap_image']:0;
		foreach ($results as $result) {
			if ($result['image']) {
				$image = $this->model_tool_image->resize($result['image'], $setting['width'], $setting['height']);
				// Image Attribute for product
				if( $swap ){
					$product_images = $this->model_catalog_product->getProductImages($result['product_id']);
					if(isset($product_images) && !empty($product_images)) {
						$thumb2 = $this->model_tool_image->resize($product_images[0]['image'], $setting['width'], $setting['height']);
					}
				}
			} else {
				$image = false;
			}
						
			if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
				$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
			} else {
				$price = false;
			}
					
			if ((float)$result['special']) {
				$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
			} else {
				$special = false;
			}
			
			if ($this->config->get('config_review_status')) {
				$rating = $result['rating'];
			} else {
				$rating = false;
			}
			
			// $product_images = $this->model_catalog_product->getProductImages($result['product_id']);
			
			$products[] = array(
				'product_id' => $result['product_id'],
				'thumb'   	 => $image,
				'name'    	 => $result['name'],
				'price'   	 => $price,
				'special' 	 => $special,
				'rating'     => $rating,
				'description'=> (html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')),
				'reviews'    => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
				'href'    	 => $this->url->link('product/product', 'product_id=' . $result['product_id']),
				'thumb2'     => isset($thumb2)?$thumb2:'',
			);
		}
		return $products;
	}
}
?>

Помогите пожалуйси добавить нужные параметры в файл OpenRefLink.xml

Заранее благодарю за помощь

Link to comment
Share on other sites


добавьте в xml это:

	<file name="catalog/controller/module/pavproducttabs.php">
		<operation error="log">
			<search position="after"><![CDATA[
$result['name'],
			]]></search>
			<add><![CDATA[
				'location'    	 => $result['location'],
			]]></add>
		</operation>
	</file>
	
	<file name="catalog/view/theme/*/template/module/producttabs.tpl">
		<operation error="log">
			<search position="replace"><![CDATA[
<input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" />
			]]></search>
			<add><![CDATA[
<input type="button" value="<?php echo $button_cart; ?>" onclick="location.href='<?php echo $product['location']; ?>'" class="button" />
			]]></add>
		</operation>
	</file>
Link to comment
Share on other sites

 

добавьте в xml это:

 

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

Link to comment
Share on other sites


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

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

Link to comment
Share on other sites

  • 2 weeks later...
Огромное спасипотому что автору! Отличный модуль! Сил без проблем ocStore-1.5.5.1.2, VQmod 2.4.1.

А возможно ли сгделать ик, что бы при нажатии на изображение товара происходил переход по реферальной ссылке? :)

Link to comment
Share on other sites


 

Огромное спасипотому что автору! Отличный модуль! Сил без проблем ocStore-1.5.5.1.2, VQmod 2.4.1.
А возможно ли сгделать ик, что бы при нажатии на изображение товара происходил переход по реферальной ссылке? :)

 

заменить в нужных шаблонах

<a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a>

на

<a href="<?php echo $product['location']; ?>"><img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a>

и дное по аналогии.

Link to comment
Share on other sites

заменить в нужных шаблонах

<a href="<?php echo $product['href']; ?>"><img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a>

на

<a href="<?php echo $product['location']; ?>"><img src="<?php echo $product['thumb']; ?>" title="<?php echo $product['name']; ?>" alt="<?php echo $product['name']; ?>" /></a>

и дное по аналогии.

Огромное спасипотому что!)

Link to comment
Share on other sites


  • 2 months later...

Модуль классный, спасипотому что.
Единственная фигня, на синдартом шаблоне все ОК, на другом шаблоне страница товара не открывается (пусия страница) и пропаlает описание в категориях. В чем может быть гдело?

 

лог ошибки:
---------- Date: 2014-06-05 17:22:19 ~ IP : 78.26.151.81 ----------

REQUEST URI : /index.php?route=product/product&product_id=499
MOD DETAILS:
   modFile   : /home/srv28199/site.ru/vqmod/xml/OpenRefLink.xml
   id        : OpenRefLink
   version   : 1.3
   vqmver    : 2.X
   author    : Woewudski
 
File Name    : catalog/view/theme/*/template/product/product.tpl(1)
VQModObject::applyMod - SEARCH NOT FOUND (SKIPPED): <a onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button"><?php echo $button_cart; ?></a>
Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

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.