Перейти к содержанию
Официальный форум поддержки Simpla

Разбивка по ценам и категориям покупателям


Рекомендуемые сообщения

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

открываем

api/Users.php
simpla/GroupAdmin.php
simpla/design/html/group.tpl

обновляем шаблон

<!-- Параметры страницы -->
<div class="block">
<ul>
<li><label class=property>Цена</label>
<select name="price" size="1">
<option {if $group->price=='price'}selected{/if} value="price">Цена 1</option>
<option {if $group->price=='price_1'}selected{/if} value="price_1">Цена 2</option>
<option {if $group->price=='price_2'}selected{/if} value="price_2">Цена 3</option>
<option {if $group->price=='price_3'}selected{/if} value="price_3">Цена 4</option>
</select>
</li>
<li><label class=property>Скидка</label><input name="discount" class="simpla_inp" type="text" value="{$group->discount|escape}" />%</li>
</ul>
</div>
<!-- Параметры страницы (The End)-->



Обновляем GroupAdmin.php

$group->id = $this->request->post('id', 'integer');
$group->name = $this->request->post('name');
$group->discount = $this->request->post('discount');
$group->price = $this->request->post('price');



Обновляем Users.php

function get_groups()	{		// Выбираем группы		$query = $this->db->placehold("SELECT g.id, g.name, g.discount, g.price FROM __groups AS g ORDER BY g.discount");		$this->db->query($query);		return $this->db->results();	}


скачем в phpmyadmin и добавляем в таблицу s_groups значение price -> varchar(255)
Ссылка на сообщение
Поделиться на другие сайты
  • Ответов 90
  • Дата создания
  • Последний ответ

Лучшие авторы в теме

Лучшие авторы в теме

Популярные посты

Предложение по улучшению, юзабильней.

Скорее всего вы сделали скриншот старой базы так как цены у вас на сайте видны ну а хранятся эти цены как раз в s_variants. Вы не ту базу используете.

Изображения в теме

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

Ссылка на сообщение
Поделиться на другие сайты

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

Ссылка на сообщение
Поделиться на другие сайты

а тут много вариантов. один из них вот такой вот

api/Variasnts.php обновляем функции

public function get_variants($filter = array())	{				$product_id_filter = '';		$variant_id_filter = '';		$instock_filter = '';				if(!empty($filter['product_id']))			$product_id_filter = $this->db->placehold('AND v.product_id in(?@)', (array)$filter['product_id']);				if(!empty($filter['id']))			$variant_id_filter = $this->db->placehold('AND v.id in(?@)', (array)$filter['id']);		if(!empty($filter['in_stock']) && $filter['in_stock'])			$variant_id_filter = $this->db->placehold('AND (v.stock>0 OR v.stock IS NULL)');		if(!$product_id_filter && !$variant_id_filter)			return array();		$query = $this->db->placehold("SELECT v.id, v.product_id , v.price, v.price_1, v.price_2, v.price_3, NULLIF(v.compare_price, 0) as compare_price, v.sku, IFNULL(v.stock, ?) as stock, (v.stock IS NULL) as infinity, v.name, v.attachment, v.position					FROM __variants AS v					WHERE					1					$product_id_filter					$variant_id_filter					ORDER BY v.position					", $this->settings->max_order_amount);        $this->db->query($query);        $result = $this->db->results();        $user = array();        $group = array();		// Пользователь, если залогинен		if(isset($_SESSION['user_id']) && !isset($_SESSION['admin']))		{		   $u = $this->users->get_user(intval($_SESSION['user_id']));		   if($u && $u->enabled)		   {		      $user = $u;			  $group = $this->users->get_group($user->group_id);			}		}		if(!empty($group) && $group->price){           $price = $group->price;		   $variants = array();           foreach($result as $variant){              $variant->price = $variant->$price > 0 ? $variant->$price : $variant->price;              $variants[] = $variant;           }           return $variants;		}else{           return $result;		}	}		public function get_variant($id)	{			if(empty($id))			return false;					$query = $this->db->placehold("SELECT v.id, v.product_id , v.price, v.price_1, v.price_2, v.price_3, NULLIF(v.compare_price, 0) as compare_price, v.sku, IFNULL(v.stock, ?) as stock, (v.stock IS NULL) as infinity, v.name, v.attachment					FROM __variants v WHERE id=?					LIMIT 1", $this->settings->max_order_amount, $id);				$this->db->query($query);			$variant = $this->db->result();        $user = array();        $group = array();		// Пользователь, если залогинен		if(isset($_SESSION['user_id']) && !isset($_SESSION['admin']))		{		   $u = $this->users->get_user(intval($_SESSION['user_id']));		   if($u && $u->enabled)		   {		      $user = $u;			  $group = $this->users->get_group($user->group_id);			}		}		if(!empty($group) && $group->price){           $price = $group->price;           $variant->price = $variant->$price > 0 ? $variant->$price : $variant->price;        }		return $variant;	}


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

Далее включайте свою фантазию.
Ссылка на сообщение
Поделиться на другие сайты

Wizard - вам памятник при жизни нужно ставить!Спасибо за терпение!Я думаю вся эта дискуссия поможет многим юзверям Simpla

Ссылка на сообщение
Поделиться на другие сайты

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

Ссылка на сообщение
Поделиться на другие сайты

Ага нашел спасибо, в файле simpla/design/html/product.tpl
там где new_variant надо добавить

<li class="variant_price"><input  name="variants[price][]" type="" value="" /></li><li class="variant_price"><input name="variants[price_1][]"  type=""    value="" /></li><li class="variant_price"><input name="variants[price_2][]" type=""     value="" /></li><li class="variant_price"><input name="variants[price_3][]" type=""     value="" /></li>
Ссылка на сообщение
Поделиться на другие сайты

Wizard

Спасибо Вам большое за помощь в реализации данного дополнения.

Я проделал все шаги, указанные в этой теме.

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

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...

×
×
  • Создать...