Модератор форума: dotbot |
Сообщество uCoz Архивариус Корзина Условные операторы: скрытие информации (как сделать, чтобы видели только зарегистрированные) |
Условные операторы: скрытие информации |
|
Quote (Ministr) я бы сделал так, например добавил бы дополнительные поля в описание материала файла, допустим поле1(файл меньше 1 Мб) и поле2(файл больше 1Мб), и в зависимости от размера файла если допустим файл меньше 1 Мб ставил бы поле1 цифру 1, поле2 оставлял бы пустым и наоборот Дальше прописал бы условие, если на странице есть поле1 до доступно для скачивания всем,если на странице только поле2, скачивание доступно только VIP Не понимаю что за поле 1 и поле 2 Quote (Ministr) Оно не восприниамет Мб и Кб, сейчас проверял. это основная проблема так бы нашел как код написать. Может как то можно написать в условии что если в надписи есть Mb то делать вариант 1 а если в надписи Kb то делать вариант 2 или как то так и тогда мне было бы не важно сколько там объём т.к. система отображает Mb если более 1Mb а если меньше то пишет Kb Добавлено (01-Фев-2012, 14:20:27) Quote (borisle2) Если уж не получится с юкозовским условным оператором. Можно написать на js, предварительно $FILE_SIZE$ засунуть в переменную. js не владею, даже не представляю как им пользоваться, а ради только такого нюанса разбираться скорей всего не стоит |
Допустим ставим настройках модуля что при добавлении файла указываем язык(и) интерфейса и тип лицензии, можно их переименовать в любое другое название, допустим поле - язык интерфейса будет отвечать за файлы меньше 1 Мб, атип лицензии будет отвечать за файлы больше 1 Мб.
Так вот значит при добавлении файла меньше 1 Мб, пишем в поле язык интерфейса Дотсупно всем для скачивания, в поле тип лицензии оставляем пустым. Условный оператор в данном случае будет выглядить <?if($INTERFACE_LNG$)?> и дальше условие то что файл скачивают все желающие Если файл больше 1 Мб, при добавлении файла поле язык интерфейса оставляем пустым, в поле тип лицнзии пишем Доступно для скачивания VIP и условны оператор будет <?if($LICENCE$)?> и дальше условие на то что скачивать могут VIP пользователи: Quote <?if($INTERFACE_LNG$)?><a href="$FILE_URL$">Скачать с сервера</a><?else?><?endif?> <?if($LICENCE$)?><?if($GROUP_ID$=3)?><a href="$FILE_URL$">Скачать с сервера</a><?else?>Ссылка доступна только пользователям 3 ID группы<?endif?><?else?><?endif?> Что-то в этом духе сообразить)) Запутанно немного, но реализовать можно) В переводе на русский язык: Если поле тип интерфейса заполнено, то ссылка доступна вем, если не заполнено, до неотображается совсем. Если поле лицензия заполнено, то ссылка доступна для скачивания пользователям группы ID-3, если другой пользователь то ссылку не видет, если поле незаполнено, то вообще ничего не будет. Добавлено (01-Фев-2012, 15:34:01) --------------------------------------------- Нашел вариант намного проще, как можно выделить Mb или Kb: Quote <?if(substr($FILE_SIZE$,-2)='Kb')?> Значение 1 <?else?> Значение 2 <?endif?> В приведенном выше примере будет выполняться условие, что если файл в Kb, то значение 1, если в Mb, то значение 2. Так же можно прописать и Mb, соответственно заменив Kb на Mb Сообщение отредактировал Ministr - Среда, 01 Фев 2012, 15:36:13
|
Quote (Ministr) Допустим ставим настройках модуля что при добавлении файла указываем язык(и) интерфейса и тип лицензии, можно их переименовать в любое другое название, допустим поле - язык интерфейса будет отвечать за файлы меньше 1 Мб, атип лицензии будет отвечать за файлы больше 1 Мб. Так вот значит при добавлении файла меньше 1 Мб, пишем в поле язык интерфейса Дотсупно всем для скачивания, в поле тип лицензии оставляем пустым. Условный оператор в данном случае будет выглядить <?if($INTERFACE_LNG$)?> и дальше условие то что файл скачивают все желающие Если файл больше 1 Мб, при добавлении файла поле язык интерфейса оставляем пустым, в поле тип лицнзии пишем Доступно для скачивания VIP и условны оператор будет <?if($LICENCE$)?> и дальше условие на то что скачивать могут VIP пользователи: Quote <?if($INTERFACE_LNG$)?><a href="$FILE_URL$">Скачать с сервера</a><?else?><?endif?> <?if($LICENCE$)?><?if($GROUP_ID$=3)?><a href="$FILE_URL$">Скачать с сервера</a><?else?>Ссылка доступна только пользователям 3 ID группы<?endif?><?else?><?endif?> Что-то в этом духе сообразить)) Запутанно немного, но реализовать можно) В переводе на русский язык: Если поле тип интерфейса заполнено, то ссылка доступна вем, если не заполнено, до неотображается совсем. Если поле лицензия заполнено, то ссылка доступна для скачивания пользователям группы ID-3, если другой пользователь то ссылку не видет, если поле незаполнено, то вообще ничего не будет. Тут большой минус - у меня на сайт загружено более 200 файлов, большинство (70-80%) менее одного мегабайта, и чтобы настроить такой фильтр мне придётся в каждый файл заходить и указывать в определённой строчке нечто. Но опять же даже если я это всё сделаю у меня будет другая проблема - многие файлы я не сам в каталог добавляю, и как мне объяснить пользователям что надо ставить запись именно в этой строчке а не в той Поэтому я всё таки думаю надо придумать как указать в переменной что если написано после цифр Mb то доступно для скачивания только VIP, а если Kb то могут скачивать все Добавлено (01-Фев-2012, 15:44:54) Quote (Ministr) <?if(substr($FILE_SIZE$,-2)='Kb')?> Значение 1 <?else?> Значение 2 <?endif?> В приведенном выше примере будет выполняться условие, что если файл в Kb, то значение 1, если в Mb, то значение 2. Так же можно прописать и Mb, соответственно заменив Kb на Mb вот это я и хотел, спасибо! буду пробовать |
Вот ваше условие:
Quote <?if(substr($FILE_SIZE$,-2)='Kb')?><a href="$FILE_URL$">Скачать с сервера</a> <?else?><?if($GROUP_ID$=3 || $GROUP_ID$=4)?><a href="$FILE_URL$">Скачать с сервера</a><?else?>Вы не имеете доступ к файлу потому что не админ и не модератор<?endif?> <?endif?> Если файл будет в Kb, скачает кто угодно, если файл в Mb то только админ или модератор. |
Вот ещё головоломка. как объединить?
Т.е. Если вошел и является пользователем и файл имеет в надписи Kb то скачивает, иначе рекомендации стать VIP. Если заходит не как пользователь (админ, модер, VIP и т.п.) то скачать доступно. А если он не зашел то пишет "Войдите под своим именем или зарегистрируйтесь". тут конечно наверно проще отключить доступность для скачивания с сервера не зашедшим пользователя, но как разграничить "группу" и "Kb" ? Добавлено (01-Фев-2012, 16:09:27) Quote (Ministr) Если файл будет в Kb, скачает кто угодно, если файл в Mb то только админ или модератор. Прям читаешь мои мысли ![]() |
Code <?if(substr($FILE_SIZE$,-2)='Kb')?><?if($USER_LOGGED_IN$)?><a href="$FILE_URL$">Скачать с сервера</a><?else?>Войдите под своим именем или зарегестрируйтесь Ссылка на вход<?endif?><?else?><?if($GROUP_ID$=3 || $GROUP_ID$=4)?><a href="$FILE_URL$">Скачать с сервера</a><?else?><?if($USER_LOGGED_IN$)?>Рекомендуем стать VIP<?else?>Зарегистрируйтесь и получите VIP<?endif?><?endif?> <?endif?> Вроде так можно))) |
Добрый вечер!
Объясните, пожалуйста, одну вещь - зачем имеется возможность закрыть один из форумов для гостей и некоторых категорий пользователей, если при этом поиск и облако тегов находят и цитируют его открыто для всех? мне необходимо как то решить эту проблему, есть ли способ? Сообщение отредактировал мира - Суббота, 04 Фев 2012, 00:19:59
|
если бы ещё знать, где это находится
![]() ![]() если такой вариант возможен, то всё замечательно... но я провела эксперимент - изменила название темы, которую не надо находить, по идее, она должна бы не находиться после этого, но всё равно находится... вопрос - поиск находит каждый раз заново, то есть результат показывает на настоящий момент, или так же берутся результаты из архива, то есть то, что я изменила название, повлияет только на будущее? Сообщение отредактировал мира - Суббота, 04 Фев 2012, 01:28:57
|
Quote (мира) если бы ещё знать, где это находится попытаюсь найти... если такой вариант возможен, то всё замечательно... но я провела эксперимент - изменила название темы, которую не надо находить, по идее, она должна бы не находиться после этого, но всё равно находится... вопрос - поиск находит каждый раз заново, то есть результат показывает на настоящий момент, или так же берутся результаты из архива, то есть то, что я изменила название, повлияет только на будущее? честно, не работал с поиском активно, почитайте: Поиск по сайту |
Подскажите пожалуйста что я тут упусти?
Code <!-- <block3> --> <?if()?> <table style="border: 1px solid black; width: 216px; background-color: rgb(220, 220, 255);" width="" align="" border="0" cellpadding="0" cellspacing="0"> <tbody><tr align="left"><td colspan="3" style="background: url("http://www.infovse.ru/pod-opisanie.jpg") repeat scroll left top transparent; color: rgb(172, 197, 255); border-width: 1px; border-style: solid; border-color: rgb(105, 105, 105) rgb(105, 105, 105) black; -moz-border-top-colors: none; -moz-border-right-colors: none; -moz-border-bottom-colors: none; -moz-border-left-colors: none; -moz-border-image: none; letter-spacing: 0pt; word-spacing: 0pt; height: 30px; text-align: center;" height="36"><b><!-- <bt> --><!--<s3199>-->Вход на сайт<!--</s>--><!-- </bt> --></b></td></tr> <tr><td style="background: url("") repeat scroll 0% 0% rgb(0, 0, 0); border-width: 1px; border-style: solid; border-color: black rgb(105, 105, 105) rgb(105, 105, 105); -moz-border-top-colors: none; -moz-border-right-colors: none; -moz-border-bottom-colors: none; -moz-border-left-colors: none; -moz-border-image: none; letter-spacing: 0pt; word-spacing: 0pt;" width="175"><!-- <bc> --><br> <script src="http://www.infovse.ru/media/?t=video;w=200;h=150;f=http%3A%2F%2Fwww.infovse.ru%2FIkonki%2FBluewater.swf" type="text/javascript"></script> <?if( ($USER_LOGGED_IN$))?><p align="center">Вы вошли как <strong><a href="$PERSONAL_PAGE_LINK$">$USERNAME$</a></strong></p> <p align="center"> Группа: <strong>$USER_GROUP$</strong></p><div align="center"> Личных сообщений:<strong><a href="$PM_URL$">($UNREAD_PM$)</a></strong></div><p></p> <p> </p> <div align="center"> </div> <div align="left"> <b></b><center><b> <a href="$LOGOUT_LINK$" title="Выход"> <img src="http://www.infovse.ru/Form_vhoda/vykhod.jpg" alt="" border="0"></a> <?else?> $LOGIN_FORM$ <?endif?> </b></center><center><b><br></b></center> <!-- </bc> --></div></td></tr> </tbody></table> <?endif?> <!-- </block3> --> Это блок входа, кагда нажимаю вход, то после страница исчезает, что я зашёл |
Quote (ROBBEN16) Подскажите пожалуйста что я тут упусти? То что в 1996 году был утвержден CSS1, а в январе 1997 - HTML 3.2, в котором был добавлен тег div. Стало бы, уже 15 лет назад стоило избавляться от подобного кода. Quote (ROBBEN16) Это блок входа, кагда нажимаю вход, то после страница исчезает, что я зашёл А это в консоли ошибок смотреть нужно. Ее тоже не вчера придумали. Любые работы по:
- Javascript, jQuery, HTML, CSS - Верстке макетов и установке их на сайты - Нестандартным решениям |
Где тут может быть ошибка? проблема такая - мне нужно чтобы с сервера могли качать только зарегистрированные пользователи и только до 1Mb файлы, а больше 1mb все с удалённого сервера и VIP пользователи с моего сервера. Код вроде работает но в некоторых материалах при просмотре гостем в строчке где должно быть написано "Войдите под своим именем" просто пустая строчка, при этом файл менее 1Mb и нет ссылки на удалённый сервер. Сперва у меня была мысль что есть какая-то связь с информерами, но она вроде не подтверждается (есть информер ТОП загрузок и последних загрузок). |
| |||
Будьте в курсе всех обновлений: подпишитесь на наш официальный Telegram-канал uCoz и задавайте вопросы в чате сообщества!