Главная | Регистрация | Вход | RSS
Воскресенье, 05.05.2024, 09:51
Приветствую Вас Гость

Блог Клименко Вадима

Главная » 2009 » Декабрь » 1 » Делаем ToDo-лист на uCoz
12:32
Делаем ToDo-лист на uCoz
После прочтения поста "Как устроен мой виртуальный мир" я вспомнил что у меня раньше использовался список ToDo. Вот сегодня и я расскажу как такое сделать.

Сама идея сделать свой ToDo у меня пришла после того, как на хабре опубликовали пост про microToDo. Основным недостатком я считал то, что все сохраняется на куках. Вот потом и появилось мое решение :)

Этот ToDo будет находиться в модуле board. Итак, приступим. Для начала мы активируем этот модуль. Создаем две категории:

Название 1 категории: Выполнено
Название 2 категории: Не выполнено
Если вы хотите сделать, чтобы смотреть список могли вы, то поставьте при создании категории необходимые права.
Внимание! Обязательно у первой категории должен быть ID 1, у второй - ID 2.
Переходим в настройки модуля и делаем все как на скрине:

Все. Первый этап окончен. Едем дальше.
Заходим в редактирование шаблонов. Модуль - Доска объявлений.
Шаблон: Главная страница модуля

Code
<html>
<head>
<title>$MODULE_NAME$ - $SITE_NAME$</title>
<style type='text/css' media='all'>
body {font: normal normal normal large/1.6em Verdana, sans-serif;}

header a, header span {opacity:.3;}
header a:hover {opacity:1; color:#0000FF;}
header a {padding-right:1em; color:black;}
#name {text-decoration:none;}

.ahtung {background:yellow; padding:1em;}
.hidden {display:none;}

.add {margin-top:1em;}
#new {width:40%;}

ul, p, footer {margin:0 0 .2em 6em; padding-left:0;}
footer {font-size:medium;}

ul {padding:1em 0 1em 0; clear:both;}

li {list-style:none;}
li a, footer #del {text-decoration:none; color:red; visibility: hidden; padding:0 .6em;}
li:hover a, footer:hover #del {visibility: visible}

.OK, .add a {opacity:.2;}
.add label * {float:left; padding:.2em; margin:2px; line-height:1.6em; font-size:large;}
.add a {text-decoration:none; color:black; padding:1px; margin:3px 0 0 8px;}
.add a:hover, .add a:active {opacity:1; background:#D8D8D8; margin:1px 0 0 6px; border:2px solid red; border-color:#E9E9E9 #C7C7C7 #C7C7C7 #E9E9E9;}
.add a:active {border-color:#C7C7C7 #E9E9E9 #E9E9E9 #C7C7C7;}

.info {padding:.6em 0; color:#25BA25;}
.info a {color:#179217;} .info a:hover {color:#FF3722;}

.opacity_on {opacity:.3;}
.opacity_off {opacity:1;}

footer {font:0.9em Verdana;}
</style>
</head>
<body>
<header>
<a href='http://vadimklimenko.com/blog/2009-12-01-44' id='name'>
U.ToDo</a>
</header>

<form action='#' method='post' id='add'>
<p class='add'>
<label><input type='text' id='new' value='Что нужно написать?' maxlength='255' onclick="if(this.value=='Что нужно написать?')this.value='';" onblur="if(this.value=='')this.value='Что нужно написать?';" />
<a href='#' id='addtodo' onclick="sendZamech();"> ← Enter </a></label>
</p>
</form>

<ul id="ToDoList">$BODY$</ul>
<script type="text/javascript">
function sendZamech(){
zText = $("#new").val();
$.get('/board/0-0-0-0-1', function(o){
$.post('/board/', {ocat: 1,brief: zText,edttbrief: 2,format_brief: 1,html_brief: 1,coms_allowed: 1,a: 12,ssid: $('input[name="ssid"]', o).val(),numi: 1}, function(qqq){
location.reload();
});
});
} </script>
</body>
<footer>$POWERED_BY$. Дизайн и все такое от <a href='http://ru.bmsubmitter.com/buy/microToDo/demo.html' title='Гыгы' id='name'>µToDo</a>, переделано под uCoz: <a href='http://vadimklimenko.com' id='name'>Vadim Klimenko</a></footer>
</html>

Если же вы не хотите,чтобы пользователи и не видели ToDo, то прописываем так:

Code
<?if($USER_GROUP$='Администраторы')?>
*Тут содержимое предыдущего кода*
<?else?>
<html>
  <head>
  <meta name="robots" content="noindex,nofollow">
  <title>
  HTTP 403 Запрещено
  </title>
  <style>
  body, td {font-family:Tahoma,Arial;font-size:9pt;} a:link {text-decoration:underline;
  color:#0000FF} a:visited {text-decoration:underline; color:#0000FF} a:hover
  {text-decoration:underline; color:#FF0000} .copy {font-size:7pt;}
  </style>
  </head>
  <body bgcolor="#FFFFFF">
  <table height="100%" width="100%" border="0">
  <tr height="100">
  <td valign="top" align="center">
  <h2>
  У вас нет прав для просмотра этого ресурса
  </h2>
  </td>
  </tr>
  <tr>
  <td valign="top" align="center">
  


  Возможно, просмотр этого ресурса с использованием указанных вами личных
  данных не разрешен.
  </p>
  </td>
  </tr>
  <tr>
  <td valign="bottom" align="center" class="copy">
<br>$POWERED_BY$</b>
  </a>
  <br>
  </td>
  </tr>
  </table>
  </body>

</html>

<?endif?>

Ну и последний этап - вид материалов.

Code
<div id="dltentr$ID$" style="display: none;">$MODER_PANEL$</div>
<?if($CATEGORY_NAME$="Выполнено")?><li><label><input onclick="sendZamech$ID$();return false;" title="Пометить как не выполнено" type="checkbox"> $MESSAGE$ <a href="#" title="Удалить" onclick="$('#dltentr$ID$ img[src=\'http://s21.ucoz.net/img/fr/EmnD.gif\']').parent().click();return false;">×</a> </label> </li><?endif?>
<?if($CATEGORY_NAME$="Не выполнено")?><li class="OK"><label><input title="Выполнено?" checked="checked" onclick="sendZamech$ID$();return false;" type="checkbox"> $MESSAGE$ <a href="javascript://" title="Удалить" onclick="$('#dltentr$ID$ img[src=\'http://s21.ucoz.net/img/fr/EmnD.gif\']').parent().click();return false;">×</a> $DATE$($TIME$)</li></label><?endif?>
<?if($CATEGORY_NAME$="Выполнено")?><script type="text/javascript">
function sendZamech$ID$(){
$.get('/board/0-0-0-$ID$-13', function(o){
$.post('/board/', {brief:$('textarea[name="brief"]',o).val(),
jkd498:1,
jkd428:1,
ocat:2,
edttbrief:2,
format_brief:1,
html_brief:1,
is_pending:0,
coms_allowed:1,
id:$ID$,
a:14,
ssid: $('input[name="ssid"]', o).val(),numi: 1}, function(qqq){
location.reload();
});
});
}
</script><?endif?>
<?if($CATEGORY_NAME$="Не выполнено")?><script type="text/javascript">
function sendZamech$ID$(){
$.get('/board/0-0-0-$ID$-13', function(o){
$.post('/board/', {brief:$('textarea[name="brief"]',o).val(),
jkd498:1,
jkd428:1,
ocat:1,
edttbrief:2,
format_brief:1,
html_brief:1,
is_pending:0,
coms_allowed:1,
id:$ID$,
a:14,
ssid: $('input[name="ssid"]', o).val(),numi: 1}, function(qqq){
location.reload();
});
});
}
</script><?endif?>

Текст меняете на свое :)
Вот и все :)

Пример
Убедительная просьба: оставляйте копирайты.

При копировании - обязательная ссылка на блог - обязательна.

PS: Все так очень сложно расписано, потому что у меня через sendZamech(id); не получилось :)

UPD: В последнем коде есть две ссылки на изображение http://s21.ucoz.net/img/fr/EmnD.gif. Чтобы все работало корректно, заменяем в том изображении s21 на номер своего сервера. Вы можете его увидеть у себя в панели управления.

Категория: uCoz | Просмотров: 2398 | Добавил: Vadim_Klimenko | Теги: ucoz, ToDo
Всего комментариев: 13
Илья
Отлично,молодец :)
Asman Namso
М...интересно, статья понравилась.
Дмитрий Лукьянов
Великолепно...
uWeb
Пересмотри код еще раз. а еще учи callback
Илья
Проверил функциональность. Всё работает! :)
Максимушка
На самом деле проще уйти с юкоза на mf и пользоваться To-Do листом прямо из админки.)
Stas
mas1k, что-бы уйти с юкоз на mf нужно хотя бы инвайт раздобыть)
Максимушка
Ну, скоро это можно будет получить легче и быстрее, чем сделать такую вот штукенцию.
Садых Садыхов
А можно мне инвайт? mail@shutich.ru
Вадим
Инвайты еще не раздают.
Joker
Здорово, а как на счёт прикрепления изображений путём $IMAGE1$, $IMAGE2$...
Вадим
Я так и не понял: что конкретно нужно?
Rinatkaallka
В голове не укладывается, как имеют все шансы так поступать эти нелюди. Как котят используют в качестве живой приманки акул, это же ужас! несчастное создание как наживку вешают на крючок, и он несчастный обречен. в контакте прислали видео, как китайская... не знаю как ее назвать убивает котенка каблуком. и это сплошь и вблизи. или же ветеринар поведала как дети котятами и щенками в футбол играют, кидают под машины. И самое поразительное что их родители на это говорят, ну они же дети, не понимают. Как это не понимают? понимают же что других детей невозможно на дорогу выкидывать или же еще что-нибудь. В голове не укладывается. отчего люди настолько жестоки?

http://seexi.net

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Категории раздела

Web [10]
uCoz [9]
Ю.Блоги [6]
Другое [8]
Блог [7]
Google reader [1]

Вход на сайт

Поиск

Календарь

«  Декабрь 2009  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031

Архив записей

Друзья сайта

  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика


    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0