Стол заказов для uCoz

3387 просмотров Alan_Writer 28.03.2016

Скачать 📥

Решил сделать стол заказов для uCoz, т.к уже не раз просили то найти какой-нибудь нормальный, то настроить какой-то из тех что уже сделаны. И так как ничего нормального не нашел, решил просто адаптировать таковой с DLE. Я сделал все максимально просто, без каких-либо скриптов, чисто на условных операторах uCoz, т.к есть в сети один типа очень функциональный стол с кучей скриптов - но вся эта функциональность во первых не нужна, а во вторых он не работает. Поэтому я сделал без лишних наворотов, но при этом в нем есть самое необходимое, и он точно будет работать.

Дизайн примерно тот же что на DLE, хотя я его немного доработал. Но главное то, что в оригинале этот стол заказов сделан при помощи табличной верстки (которую сейчас стараются не применять), а я все то же самое сделал на дивах.

Установка

1. Ну для начала активируйте модуль, который будете использовать под стол заказов. Я выбрал "доску объявлений", но это так-же может быть другой аналогичный модуль (каталог файлов, сайтов, статей, игр), который именно у вас ничем не занят.

2. Скачайте архив, и залейте его содержимое в корень файлового менеджера.

3. В настройках того модуля, который вы решили использовать - активируйте вот эти поля:

Название
Краткое описание (описание заказа, или причина в случае отклонения)
Web-site (ссылка на выполненный заказ)

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

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

4. В этом же модуле, теперь нужно создать 4 категории, которые будут определять статус заказа. Эти категории нужно добавлять именно в такой последовательности как я напишу, чтоб каждая имела нужный id - ибо вид материалов уже настроен под определенный их порядок. Поэтому если какие-то категории у вас там уже есть - их нужно удалить, затем обновить страницу, и вот теперь добавлять категории:

Ожидающие (ID:1)
В работе (ID:2)
Выполненные (ID:3)
Отклоненные (ID:4)

5. Теперь собственно установка. На все страницы со списком материалов выбранного модуля (главная, разделы, категории, поиска и рейтинга), вместо $BODY$ - ставим это:
Код
<link rel="stylesheet" href="/ordesc/ordesc.css" type="text/css"/>
<div class="order-table">
<div class="trr otop">
<div class="tdd"><img src="/ordesc/stat.png"/></div>
<div class="tdd">Название</div>
<div class="tdd">Добавил</div>
<div class="tdd">Когда</div>
<div class="tdd"><img src="/ordesc/rate.png"/></div>
</div>
$BODY$
</div>

Что делать с остальными блоками на этих страницах (блоком категорий, сортировки, навигации, переключателей страниц), как их оформить, оставить так, или удалить - смотрите сами.

6. Ну и последнее, это ставите в вид материалов выбранного под стол заказов модуля:
Код
<div class="tdd">
<span class="stat">
<?if($CID$='1')?><img src="/ordesc/wait.png" title="Ожидает"/><?else?>
<?if($CID$='2')?><img src="/ordesc/injob.png" title="В работе"/><?else?>
<?if($CID$='3')?><img src="/ordesc/done.png" title="Выполнено"/><?else?>
<img src="/ordesc/denied.png" title="Отклонено"/><?endif?>
<?endif?>
<?endif?>
</span>
</div>
<div class="tdd">
<h6><?if($CID$='3')?><a href="$AUTHOR_SITE$" title="Страница материала">$TITLE$</a><?else?>$TITLE$<?endif?><?if($MODER_PANEL$)?>$MODER_PANEL$<?endif?></h6>
<?if($CID$='4')?>✎ <span class="ono" title="Причина отказа">$MESSAGE$</span><?else?>$MESSAGE$<?endif?>
</div>
<div class="tdd"><?if($PROFILE_URL$)?><a href="$PROFILE_URL$">$USERNAME$</a><?else?>Гость<?endif?></div>
<div class="tdd">$DATE$</div>
<div class="tdd"><a href="javascript://" title="Мне нравится!" onclick="$.get('/board/0-1-1-$ID$-3',function(data) {if($(data).text().indexOf('уже оценивали')>-1) _uWnd.alert('Вы уже оценивали!','Ошибка',{w:270,h:120,t:8000}); else {_uWnd.alert('Вы успешно оценили!','Успех',{w:270,h:120,t:8000});$('#rlike$ID$').text('+<?$RATED$+1?>');};});"><img src="/ordesc/like.png"/></a> <b id="rlike$ID$" style="color:<?if($RATED$='0')?>#999<?else?>green<?endif?>;">$RATED$</b></div>

Ну вот в общем-то и все. Я думаю объяснять как там все работает не надо, все и так понятно. Не забываем оценивать, комментировать и делится - если материал полезный!

Теги: заказ, стол, Стол заказов
24 Комментария
avatar
24
как под замутить под книгу благодарностей?
avatar
23
Здравствуйте, очень прошу помочь с появившейся проблемой... Установил стол заказов, всё работает, кроме 2-ух но...
1) Объявления не активны... То-есть, если я прикреплю скриншот допустим, то название заказа не становится активным, тем самым я не могу просмотреть скриншот, оставить комменты под заказом и т.д.
2) Если сразу после добавления заказа, просмотреть материал, то на страничку с заказом он переходит, но тут уже допустим нет ссылки на архив, который я оставлял в заказе...
Очень прошу помощи! Был бы очень сильно благодарен, если бы помогли!
Ссылка на сайт, если нужно http://testsitetest2.ucoz.net/board/
avatar
22
Эх, я ошибся, куча недоработок... dry
avatar
21
Все четко работает, спасибо happy
avatar
18
В принципе, стол отличный, всё фурычит как надо, смущает одно, выбор категории, при добавлении заказа, у кого-нибудь есть умная мысль, как это убрать для пользователей?
avatar
20
В настройках каждой категории галочками отмечаются группы пользователей которые могут в нее добавлять.
avatar
15
И все таки рейтинг не работает. Даже через несколько недель
avatar
16
А ты именно на модуль доска объявлений ставил? Может в настройках сама функция рейтинга отключена?
avatar
14
Alan_Writer,А нельзя сделать так,что бы заказ можно было сделать на этой же странице ?
avatar
12
Не закрыт один или более условный оператор (<?if?>)

-_-
Подскажите уж, как решить.
avatar
13
Это уже именно у тебя на странице где-то не закрыт. В том коде что тут указан - все нормально.
avatar
17
не всё там нормально, оно и будет выбивать не закрытый оператор
<?if($CID$=1) ?><img src="/ordesc/wait.png" title="Ожидает"/><?else?>
<?if($CID$=2) ?><img src="/ordesc/injob.png" title="В работе"/><?else?>
<?if($CID$=3) ?><img src="/ordesc/done.png" title="Выполнено"/><?else?>
<img src="/ordesc/denied.png" title="Отклонено"/><?endif?>
а должно быть так:
<?if($CID$=1) ?><img src="/ordesc/wait.png" title="Ожидает"/><?else?>
<?if($CID$=2) ?><img src="/ordesc/injob.png" title="В работе"/><?else?>
<?if($CID$=3) ?><img src="/ordesc/done.png" title="Выполнено"/><?else?>
<?if($CID$=4) ?><img src="/ordesc/denied.png" title="Отклонено"/><?endif?>
avatar
19
Только что проверил - никаких ошибок с незакрытыми операторами там нет. А то что ты указал - это лишь часть кода, а если смотреть на весь - то все абсолютно верно. А твое исправление - это вообще дичь!

Всего три оператора, у каждого есть условие, и все закрыты. Так что у кого-то просто кривые руки или мозги.
avatar
4
стол заказов класс но есть небольшая проблема при нажатии мне нравиться появляется +1 но когда обновишь страницу всё по нулям.
avatar
5
Подожди немного и оценка появится.
avatar
6
Там ещё реклама криво показывает. Может это мой косяк. Если что подскажи что не так. Спасибо. Демо сайт для теста .................
avatar
7
А там точно функция рейтинга в модуле активирована? И в смысле реклама криво? Я рекламу специально сделал плавающей, т.к иначе она будет отображаться прямо в блоке заказов - и это не особо красиво.
avatar
8
про рекламу понял. а функция рейтинга включена http://prntscr.com/aqh11v
avatar
9
Блин у тебя же модуль другой. Для каталога сайтов ссылку в кнопке оценки надо заменить с /board/0-1-1-$ID$-3 на /dir/0-1-1-$ID$-3
avatar
10
спасибо всё супер. работает smile
avatar
11
а можно увеличить длину вводимого урл
avatar
3
Молодец автор нет слов давно искал столь заказов для ucoz ))
avatar
1
про страницу материала - что туда?
avatar
2
Ничего, она не нужна тут. Ты делаешь заказ, его либо выполняют, либо нет - и указывают причину. Зачем страница материала? К тому же это адаптация модуля с DLE, где ее так-же нет.