PAGAR 0 Опубликовано 11 марта, 2014 Жалоба Share Опубликовано 11 марта, 2014 Требуется в информационной странице разместить ссылки на файлы доступные для загрузки только определенным группам пользователям... имеется ли такая возможность в движке или в каких нить доп. модулях?... Заранее благодарен... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 марта, 2014 Жалоба Share Опубликовано 11 марта, 2014 Можно, но там вроде файлы 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 - номер группы покупателей. Тогда будут видны файлы только определённой группе. Ссылка на сообщение Поделиться на другие сайты
PAGAR 0 Опубликовано 11 марта, 2014 Автор Жалоба Share Опубликовано 11 марта, 2014 Спасибо... вроде работает... отображает ссылку только для пользователя с указанным ID... терь осталось расчехлится как остальным вместо неё выводить текст)... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 марта, 2014 Жалоба Share Опубликовано 11 марта, 2014 Наверное как-то так: {if $smarty.session.customers_status.customers_status_id == X} {if $file} {$file} {else} {else}текст{/if} Ссылка на сообщение Поделиться на другие сайты
PAGAR 0 Опубликовано 11 марта, 2014 Автор Жалоба Share Опубликовано 11 марта, 2014 Наверное как-то так: {if $smarty.session.customers_status.customers_status_id == X} {if $file} {$file} {else} {else}текст{/if} Так пробовал... при такой конструкции... информационные страницы умирают совсем... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 марта, 2014 Жалоба Share Опубликовано 11 марта, 2014 Тогда вот так меняйте: {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} Ссылка на сообщение Поделиться на другие сайты
PAGAR 0 Опубликовано 11 марта, 2014 Автор Жалоба Share Опубликовано 11 марта, 2014 Тогда вот так меняйте: {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} А так не работает сама конструкция... ссылка становится доступной всем группам пользователей.... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 марта, 2014 Жалоба Share Опубликовано 11 марта, 2014 Вынесите тогда метку вообще за это условие, т.е. пусть будет как-то так: {if $file and $smarty.session.customers_status.customers_status_id == X} {$file} {else}текст{/if} <p> {$CONTENT_BODY} </p> Ссылка на сообщение Поделиться на другие сайты
PAGAR 0 Опубликовано 11 марта, 2014 Автор Жалоба Share Опубликовано 11 марта, 2014 Вынесите тогда метку вообще за это условие, т.е. пусть будет как-то так: {if $file and $smarty.session.customers_status.customers_status_id == X} {$file} {else}текст{/if} <p> {$CONTENT_BODY} </p> В общем вообще не подходит... у меня с таким раскладом и текст не подставляется... и для пользователей не попадающих в эту группу вообще информационные страницы пропадают... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 марта, 2014 Жалоба Share Опубликовано 11 марта, 2014 Вы точно старые условия удалили. В общем, верните оригинальный файл и ничего не меняйте в нём, а просто добавьте для начала в него: {if $file and $smarty.session.customers_status.customers_status_id == X} {$file} {/if} Можно ведь методом тыка даже подобрать нужное условие. Ссылка на сообщение Поделиться на другие сайты
PAGAR 0 Опубликовано 11 марта, 2014 Автор Жалоба Share Опубликовано 11 марта, 2014 Вы точно старые условия удалили. В общем, верните оригинальный файл и ничего не меняйте в нём, а просто добавьте для начала в него: {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 в контенте автоматом коментится... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 марта, 2014 Жалоба Share Опубликовано 11 марта, 2014 Если php код, то лучше тогда if ($_SESSION['Customers_status']['customers_status_id'] == 0) { Ссылка на сообщение Поделиться на другие сайты
PAGAR 0 Опубликовано 11 марта, 2014 Автор Жалоба Share Опубликовано 11 марта, 2014 Если 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 "Ссылка доступна только для пользователей с правами Оптовый покупатель"; } ?> и выбрал его в соответствующей инф. странице... отображается ссылка... но для всех пользователей... а фраза не отображается ни для кого... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 марта, 2014 Жалоба Share Опубликовано 11 марта, 2014 Посмотрите какой меткой это содержимое выводится. Если меткой {$file}, то оберните её условием: {if $smarty.session.customers_status.customers_status_id == 0} {$file} {/if} Ссылка на сообщение Поделиться на другие сайты
PAGAR 0 Опубликовано 11 марта, 2014 Автор Жалоба Share Опубликовано 11 марта, 2014 Посмотрите какой меткой это содержимое выводится. Если меткой {$file}, то оберните её условием: {if $smarty.session.customers_status.customers_status_id == 0} {$file} {/if} Но тогда на сколько я понимаю у меня для других пользователей станет недоступно содержимое других инф.страниц выводимое через метку {$file} Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 марта, 2014 Жалоба Share Опубликовано 11 марта, 2014 Если под содержимым имеется в виде текст, то он ведь выводится меткой {$CONTENT_BODY} В общем, смотрите сами, составьте то условие, что нужно Вам. Примеров вроде в этой теме было много. Ссылка на сообщение Поделиться на другие сайты
PAGAR 0 Опубликовано 11 марта, 2014 Автор Жалоба Share Опубликовано 11 марта, 2014 Если под содержимым имеется в виде текст, то он ведь выводится меткой {$CONTENT_BODY} В общем, смотрите сами, составьте то условие, что нужно Вам. Примеров вроде в этой теме было много. У меня просто есть другие инф. страницы... с содержимым которое грузится из файлов... и это содержимое нужно для всех пользователей... даже для гостей.... а мне нужна просто еще одна инф. страница на которой будет текст доступный для всех... но с ссылками на файлы которые смогут увидеть только пользователи относящийся к группе "Оптовые покупатели"... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 марта, 2014 Жалоба Share Опубликовано 11 марта, 2014 Ну так условия можно комбинировать ведь. Если одна группа покупателей - выводим одно, другая - другое. Ссылка на сообщение Поделиться на другие сайты
PAGAR 0 Опубликовано 11 марта, 2014 Автор Жалоба Share Опубликовано 11 марта, 2014 Ну так условия можно комбинировать ведь. Если одна группа покупателей - выводим одно, другая - другое. В том то и дело что не получается... последнее пробовал вот так.... <?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; ?> все равно выводит для всех групп ссылку... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 марта, 2014 Жалоба Share Опубликовано 11 марта, 2014 А почему у Вас всегда 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 НЕ с заглавной буквы должно быть. Ссылка на сообщение Поделиться на другие сайты
PAGAR 0 Опубликовано 11 марта, 2014 Автор Жалоба Share Опубликовано 11 марта, 2014 А почему у Вас всегда 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 НЕ с заглавной буквы должно быть. Я просто для проверки использую админов и гостей...а с заглавной это вы написали пример).... А так... большое спасибо.. заработало... вся проблема была как раз таки в большой букве.... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 11 марта, 2014 Жалоба Share Опубликовано 11 марта, 2014 Хорошо, что заработало. Ссылка на сообщение Поделиться на другие сайты
PAGAR 0 Опубликовано 12 марта, 2014 Автор Жалоба Share Опубликовано 12 марта, 2014 В общем сделал так... <?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; ?> вроде все работает... Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения