Перейти к содержанию
Форум поддержки пользователей VamShop

[Решено] Загрузка файла


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

Требуется в информационной странице разместить ссылки на файлы доступные для загрузки только определенным группам пользователям... имеется ли такая возможность в движке или в каких нить доп. модулях?... 
Заранее благодарен... 

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

Можно, но там вроде файлы includ'ятся, т.е. вставляются внутрь.

 

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

 

Ну и ограчения по группам нет, но это легко правится.

 

Нужно в /shop_content.php вместо include делать просто вывод html-код, ссылки на файл.

 

и в /templates/шаблон/module/content.html менять:

{if $file}
  {$file}
{else}

на что-то типа:

{if $smarty.session.customers_status.customers_status_id == X}
{if $file}
  {$file}
{else}
{/if}

где X - номер группы покупателей.

 

Тогда будут видны файлы только определённой группе.

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

Спасибо... вроде работает... отображает ссылку только для пользователя с указанным ID... терь осталось расчехлится как остальным вместо неё выводить текст)...

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

 

Наверное как-то так:

{if $smarty.session.customers_status.customers_status_id == X}
{if $file}
  {$file}
{else}
{else}текст{/if}

Так пробовал... при такой конструкции... информационные страницы умирают совсем... 

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

Тогда вот так меняйте:

{if $file}
  {$file}
{else}
<p>
  {$CONTENT_BODY}
</p>
{/if}

на:

{if $file}
{if $smarty.session.customers_status.customers_status_id == X}
  {$file}
{else}текст{/if}
{else}
<p>
  {$CONTENT_BODY}
</p>
{/if}
Ссылка на сообщение
Поделиться на другие сайты

 

Тогда вот так меняйте:

{if $file}
  {$file}
{else}
<p>
  {$CONTENT_BODY}
</p>
{/if}

на:

{if $file}
{if $smarty.session.customers_status.customers_status_id == X}
  {$file}
{else}текст{/if}
{else}
<p>
  {$CONTENT_BODY}
</p>
{/if}

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

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

Вынесите тогда метку вообще за это условие, т.е. пусть будет как-то так:

{if $file and $smarty.session.customers_status.customers_status_id == X}
  {$file}
{else}текст{/if}
<p>
  {$CONTENT_BODY}
</p>
Ссылка на сообщение
Поделиться на другие сайты

 

Вынесите тогда метку вообще за это условие, т.е. пусть будет как-то так:

{if $file and $smarty.session.customers_status.customers_status_id == X}
  {$file}
{else}текст{/if}
<p>
  {$CONTENT_BODY}
</p>

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

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

Вы точно старые условия удалили.

 

В общем, верните оригинальный файл и ничего не меняйте в нём, а просто добавьте для начала в него:

{if $file and $smarty.session.customers_status.customers_status_id == X}
  {$file}
{/if}

 

Можно ведь методом тыка даже подобрать нужное условие.

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

Вы точно старые условия удалили.

 

В общем, верните оригинальный файл и ничего не меняйте в нём, а просто добавьте для начала в него:

{if $file and $smarty.session.customers_status.customers_status_id == X}
  {$file}
{/if}

Можно ведь методом тыка даже подобрать нужное условие.

Потыкавшись я понял что это нужно решать другими методами... нужно не сам движок менять а только ссылку в контенте...

Чота типа... 

 

<?php
	if ($smarty.session.customers_status.customers_status_id == 0){
		echo "<a href='http://www.taburetka.ua/price/0000.zip'>Оптовый прайс</a>";
	}
	else {
		echo "<p>Ссылка доступна только для пользователей с правами Оптовый покупатель</p>";
	}
?> 

вот тока чтоб работало))).... на сколько я понял php в контенте автоматом коментится... 

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

Если php код, то лучше тогда if ($_SESSION['Customers_status']['customers_status_id'] == 0) {

Создал php-файл в /media/content/ с содержимым...

 

<?php
	if ($_SESSION['Customers_status']['customers_status_id'] == 0){
		echo "<a href='http://www.taburetka.ua/price/vip.xls'>Оптовый прайс</a>";
	}
	else {
		echo "Ссылка доступна только для пользователей с правами Оптовый покупатель";
	}
?>

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

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

Посмотрите какой меткой это содержимое выводится.

Если меткой {$file}, то оберните её условием:

{if $smarty.session.customers_status.customers_status_id == 0}
  {$file}
{/if}
Ссылка на сообщение
Поделиться на другие сайты

 

Посмотрите какой меткой это содержимое выводится.

Если меткой {$file}, то оберните её условием:

{if $smarty.session.customers_status.customers_status_id == 0}
  {$file}
{/if}

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

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

Если под содержимым имеется в виде текст, то он ведь выводится меткой {$CONTENT_BODY}

 

В общем, смотрите сами, составьте то условие, что нужно Вам.

 

Примеров вроде в этой теме было много.

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

Если под содержимым имеется в виде текст, то он ведь выводится меткой {$CONTENT_BODY}

 

В общем, смотрите сами, составьте то условие, что нужно Вам.

 

Примеров вроде в этой теме было много.

У меня просто есть другие инф. страницы... с содержимым которое грузится из файлов... и это содержимое нужно для всех пользователей... даже для гостей.... а мне нужна просто еще одна инф. страница на которой будет текст доступный для всех... но с ссылками на файлы которые смогут увидеть только пользователи относящийся к группе "Оптовые покупатели"... 

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

Ну так условия можно комбинировать ведь.

 

Если одна группа покупателей - выводим одно, другая - другое.

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

Ну так условия можно комбинировать ведь.

 

Если одна группа покупателей - выводим одно, другая - другое.

В том то и дело что не получается... последнее пробовал вот так.... 

 

<?php
if ($_SESSION['Customers_status']['customers_status_id'] == 0):
	echo "<a href='http://www.taburetka.ua/price/vip.xls'>Оптовый прайс VIP-Master</a>";
elseif ($_SESSION['Customers_status']['customers_status_id'] != 0):
	echo "Ссылка доступна только для пользователей с правами Оптовый покупатель";
endif;
?>

все равно выводит для всех групп ссылку... 

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

А почему у Вас всегда 0 в условии?!

0 - это админы.

 

Наверное надо как-то так:

<?php
if ($_SESSION['customers_status']['customers_status_id'] == 0):
echo "<a href='http://www.taburetka.ua/price/vip.xls'>Оптовый прайс VIP-Master</a>";
if ($_SESSION['customers_status']['customers_status_id'] == 1):
echo "Ссылка доступна только для пользователей с правами Посетитель";

if ($_SESSION['customers_status']['customers_status_id'] == 2):
echo "Ссылка доступна только для пользователей с правами Покупатель";

if ($_SESSION['customers_status']['customers_status_id'] == 3):
echo "Ссылка доступна только для пользователей с правами Оптовый покупатель";
 


?>

 

Да и customers_status НЕ с заглавной буквы должно быть.

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

А почему у Вас всегда 0 в условии?!

0 - это админы.

 

Наверное надо как-то так:

<?php
if ($_SESSION['customers_status']['customers_status_id'] == 0):
echo "<a href='http://www.taburetka.ua/price/vip.xls'>Оптовый прайс VIP-Master</a>";
if ($_SESSION['customers_status']['customers_status_id'] == 1):
echo "Ссылка доступна только для пользователей с правами Посетитель";

if ($_SESSION['customers_status']['customers_status_id'] == 2):
echo "Ссылка доступна только для пользователей с правами Покупатель";

if ($_SESSION['customers_status']['customers_status_id'] == 3):
echo "Ссылка доступна только для пользователей с правами Оптовый покупатель";
 


?>

Да и customers_status НЕ с заглавной буквы должно быть.

Я просто для проверки использую админов и гостей...а с заглавной это вы написали пример).... 

А так... большое спасибо.. заработало... вся проблема была как раз таки в большой букве....

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

В общем сделал так...

<?php
if ($_SESSION['customers_status']['customers_status_id'] == 1):
	echo "<p style=background:rgba(255,0,0,0.1) ;>Ссылки доступны только для пользователей с правами Оптовый покупатель</p><br />";
	echo "<button onclick=window.open('login.php') value=2 style=padding:5px ;><b>ВХОД</b></button>"; 
	echo "<button onclick=window.open('create_account.php') value=2 style=padding:5px ;><b>РЕГИСТРАЦИЯ</b></button>";
	echo "<button onclick=window.open('contacts.html') value=2 style=padding:5px ;><b>КОНТАКТЫ</b></button>"; 
elseif ($_SESSION['customers_status']['customers_status_id'] == 2):
	echo "<p style=background:rgba(255,0,0,0.1) ;>Ссылки доступны только для пользователей с правами Оптовый покупатель</p><br />";
	echo "<button onclick=window.open('contacts.html') value=2 style=padding:5px ;><b>КОНТАКТЫ</b></button>"; 
elseif ($_SESSION['customers_status']['customers_status_id'] == 3):
	echo "<a href='http://www.магазин.ua/price/vip.xls'>Оптовый прайс VIP-Master</a><br />";
	echo "<a href='http://www.магазин.ua/price/vesta.xls'>Оптовый прайс МФ ВЕСТА</a>";	
elseif ($_SESSION['customers_status']['customers_status_id'] == 0):
	echo "<a href='http://www.магазин.ua/price/vip.xls'>Оптовый прайс VIP-Master</a><br />";
	echo "<a href='http://www.магазин.ua/price/vesta.xls'>Оптовый прайс МФ ВЕСТА</a>";	
endif;
?>

вроде все работает... 

Ссылка на сообщение
Поделиться на другие сайты
  • support unpinned this тема
×
×
  • Создать...