Denvas.info - о работе, заработке и Интернет

О работе, заработке и Интернет.



Метки




Вы здесь: ГлавнаяДневникАрхив 2010
Сортировать по дате ↓ комментариев   просмотров   
25 окт 2010г 13:19:16: Перечисляемые типы
В новом летнике существует несколько перечисляемых типов: ассоциативные массивы, одноуровневые категории, многоуровневые (вложенные) категории, справочники, метки (тэги).
Все они похожи, но отличаются.
Подумал и решил, что для понимающих этого хватит (о ком я говорю, те поймут). Для тех, же кто не понимает, но собирается делать сайты на летнике, будет подробная инструкция с примерами и куча готовых шаблонов для сайтов, где даже не придется с этим разбираться : - )
А теперь отвечу на пару вопросов тем, кто спрашивает зачем мне этот конструктор. Я делаю его для себя. А потом для заработка в качестве предоставления возможности создавать сайты другим.
Хвастаться не хорошо, но весной я за неделю сделал на этом конструкторе заказ очень неплохой стоимостью. Если бы конструктор тогда не был в полуготовом состоянии, то на тот сайт я бы потратил пару месяцев.
Этот сайт (denvas.info) я сделал за пару часов. Найдите мне php программиста который за пару часов сделает хотя бы такой простой сайт с админкой. Халявные стандартные движки я не люблю. Их слишком сложно дорабатывать.
Я еще хочу открыть пару своих проектов и сделаны они будут именно на этом конструкторе. Сейчас оттестирую, доработаю и буду клепать проекты как пирожки печь из готового теста. Благо новый конструктор это позволяет.
Комментариев: 2
Метки: letnick.com
25 окт 2010г 08:15:06: Функции
Для работы с данными в шаблонах предусмотрены функции. Перечислю функции доступные в текущий момент. В будущем возможно добавятся новые.
url - генерация URL с учетом перетаскиваемых параметров. В старой версии автоматически все ссылки вида <a href="ссылка"></a> обрабатывались. Теперь решено заменить на функцию
substr - вырезать кусок строки
urlencode - закодировать для передачи в url.
dateadd - получение даты в будущем или прошлом. Можно узнать какое число будет через неделю, или какой день недели был 20 дней назад.
replace - замена кода. Используется для обработки bb кодов или собственных языков разметки.
attr - преобразование строки для вставки в атрибут html.
strlen - длинна строки.
sum - сумма элементов.
mul - произведение элементов.
date - формирование вывода даты. Точная копия одноименной функции в php.
substrchar - вырезание куска строки с учетом символа.
lat - преобразование в латиницу.
substrcount - подсчет количества вхождение подстроки в строку.
join - объединение строки.
md5 - получение md5 хэша.
hdate - преобразование даты к человеческому виду.
setsession - установить переменную в сессию.
relocation - переслать на указанный url.
setcookie - установить куку.
crumbs - добавить элемент пути.
unique - проверить параметр на уникальность.
vardeep - получение значения сложной переменной. Подробней описывать не буду. Надеюсь ни кому она не понадобится.
rnd - генерация случайного числа.
base - вызов пользовательского события в структуре.
Пример. На этом сайте реализован RSS канал в котором выводится не все сообщение, а только начало. Для этого в шаблоне вывода записи RSS канала указана следующая конструкция:
1. <?function({lenmessage}=strlen;{message})?>
2. <?ifcmp({lenmessage}>300)?>
3. <?function(substrchar;{message};0; ;300)?>...
4. <a href='http://{SERVER[host]}/diary/?id_3={_id}'>Читать дальше.</a>
5. <?else?>
6. {message}
7. <?endif?>
Строчка 1 - получение длинны сообщения, 2 - проверяет длиннее 300 байт, 3 - если длиннее вырезать и вывести первые 300 байт обрезая по пробел, 4 - ссылка на чтение всего сообщения, 5 - если не длиннее 300 байт то, 6 - вывести всё сообщение, 7 - закрыть условие.
К сожалению для создания нормальных сайтов без таких структур не обойтись. А для создания простых сайтов они не нужны и хватит стандартных шаблонов, которые формируются автоматически при создании нового шаблона вывода.
Комментариев: 2
Метки: letnick.com
24 окт 2010г 12:22:29: Информационные блоки
В старом летнике тоже были такие, но не такие : - )
Не буду описывать как было там. Опытные пользователи помнят. Опишу новые блоки.
Информационный блок - контейнер для размещения модуля. Блоки разбиваются на 2 категории: запускаемые до вызова основного наполнения и после обработки основных данных страницы.
Например, модуль счетчика запускается до вызова обработки страницы. Он берет данные, считает посетителей, обрабатывает логи. Счетчик также генерирует общедоступные данные, которые потом можно вывести на страницу: кол-во онлайн, сколько страниц посмотрел пользователь, и т.д.
Вторая категория блоков - вызываемые после обработки страницы. В качестве примера модуль вывода "хлебных крошек". Основной скрипт генерирует путь по сайту, а модуль после этого отображает этот путь.
Некоторые модули можно запускать как до, так и после. Модуль вывода меню не использует ни какие данные и ни чего не генерирует, поэтому его без разницы когда запускать.
У блока есть название. На странице блок будет выводится там, где указано его название. Если в шаблоне не указано где выводить блок, он не будет выводится, но всё равно будет запускаться.
Если несколько блоков будут иметь одинаковое название, то они будут выведены по очереди.
Как пример два блока слева страницы. Модуль меню и модуль навигации по архиву размещены в одном блоке right. В шаблоне указано {BLOCK[right]}. Вместо {BLOCK[right]} выводится меню и навигация по годам.
Вторым важным параметром блока является раздел запуска. Можно вызывать блок только в нужном разделе или во всех разделов начиная с конкретного. Для запуска блока на всем сайте достаточно указать путь "с главной" и выбрать "во всех вложенных".
На этом сайте блоками размещены "путь по сайту", "меню", "навигация по архиву", "тэги", "счетчик", "вход на сайт для админки".
Комментариев: 0
Метки: letnick.com
24 окт 2010г 09:10:02: Связанные данные
Это уже было, но реализовано было не так прозрачно.
На уровне системы реализована связь многие к одному. Например, много комментариев к одной заметке.
В новом конструкторе при создании структуры указывается с какой структурой она связана. Опять как пример структура comments связана с diary. Форумы тоже построены на этом типе связей: список форумов, в каждом форуме темы, в темах сообщения.
Чаще всего вывод связанных данных осуществляется при просмотре детальной информации об объекте. Поэтому прямо при редактировании шаблона предлагается вывести связанные данные и/или форму для заполнения данных.
Список форумов. При просмотре форума выводится список тем. При просмотре темы выводятся сообщения.
Другие типы связей данных (многие ко многим) не реализованы на уровне системы, поэтому это делается ручками. Примера на этом сайте нет, т.к. такие связи более редки (например, связи в сообществах). Возможно позже для демонстрации сделаю демосайт.
Комментариев: 6
Метки: letnick.com
24 окт 2010г 08:25:58: Очередные проблемы с сервером
Знаю, знаю. Не грузятся проекты.
Не нужно слать смс и письма с вопросами "кагда?" (цитата). Как только проблемы будут решены, так сразу всё заработает.
Комментариев: 0
Метки: хостинги
23 окт 2010г 20:02:44: Разделы сайта
Опять о новом летнике. Хоть мне хочется писать совсем о другом, но обещал серию заметок о новом проекте.
В старом конструкторе разделы передавались get параметром cat и строка запроса выглядела как http://вашсайт/?cat=1234567890. В новом конструкторе по многочисленным просьбам пользователей решено было сделать вложенные каталоги. Теперь строка запроса раздела сайты выглядит так: http://вашсайт/path1/path2/. Папок path1 и path2 на сайте конечно не существует. Вся обработка папок происходит одним скриптом, а получить подобные пути получается с помощью модуля модреврайт для апача (на всех хостингах стоит). Все остальные запросы (переключатели страниц, поиски и т.д.) идут гет параметрами. Я не сторонник псевдостатики, когда всякими ухищрениями делают урлы вида http://сайт/каталог/поисковоеназваниестранички_страница2.html.
Поэтому в новом конструкторе разделы виртуальные, а не гет параметры, а всё остальное гет параметрами. Как приблизительно выглядят запросы страниц можно посмотреть на этом сайте.
Комментариев: 2
Метки: letnick.com
23 окт 2010г 06:08:28: Шаблонизатор
В конце 2009 года, когда начал работу над новым конструктором, решил изучить существующие конструкторы и CMS. Есть хорошие, но жутко ресурсоемкие, есть плохие, но хорошо понятные, но большинство конструкторов и CMS сделаны модулями. Моя же идея ни где так и не реализована (хотя может плохо искал?). Идея не в том, чтобы напихать в конструктор готовых модулей (фак, новости, гостевая и т.д.), а предоставить возможность создавать свои структуры и на основе них делать свои гостевые, новости, магазины и т.д. Когда так и не нашел то, на чем бы делать свои сайты, окончательно убедился что нужно делать свой конструктор, а потом на нем делать сайты.
Но пока изучал тему, позаимствовал много интересных идей. Одну из фишек взял у ucoz.ru. Идея простая, реализована во многих системах, но в старом летнике такого не было.
Теперь в шаблонах кроме переменных можно использовать простые условия и вызовы функций для обработки данных.
Вот пример вывода браузера пользователя: "Ваш браузер: {SERVER[user_agent]}".
А вот с условием: "<?ifcmp({SERVER[user_agent]}<-Windows)?>Ваша операционка Windows<?else?>У Вас не Windows операционка<?endif?>".
Или вот еще один пример: "<?function({r}=rnd;0;10)?>Случайное число {r}, оно <?ifcmp({r}>5)?>больше 5<?else?>меньше 5<?endif?>".
Генерируется случайное число, выводится на экран и пишется меньше 5 или больше 5.
Использование условий и вызов функций требуется не очень часто, но при использовании позволяет решить множество задач.
Шаблоны можно использовать даже при формировании вывода полей формы. Если авторизованный пользователь, можно вывести форму без ввода имени, а если нет, то запросить имя пользователя и e-mail.
Внимательные заметят, что кроме добавления вышеописанных возможностей изменилось написание переменных. В старом конструкторе это было %var%, в новом {var}. Это не принципиально, но так красивей : - )
Все остальные возможности изменения элементов дизайна остались включая переключатели, навигацию по страницам, вывод выборок, элементы формы и т.д.
На этом сайте с помощью условий и функций реализовано изменение кол-ва просмотров заметки, вывод "ответ" в гостевой в случае заполненности этого поля, вывод картинок при их загруженности, обработка bb кода в заметках и комментариях, выборки по дате и меткам.
Еще один пример на последок. На своем сайте можно написать "<?ifcmp({DATE[month]}-{DATE[day]}==12-31)?>Сегодня будем встречать новый <?function({zavtra}=dateadd;{DATE[fulltime]};1;day)?><?function(date;Y;{zavtra})?> год<?endif?>
Если пользователь зайдет на сайт 31 декабря 2010 года, то ему выведется "Сегодня будем встречать новый 2011 год", а если 31 декабря 2011 года, то встречать будем 2012 год : - )

Комментариев: 1
Метки: letnick.com
22 окт 2010г 07:41:02: Структуры данных
Очередная заметка для потенциальных пользователей нового конструктора letnick.com. Параллельно дорабатываю, исправляю глюки и популяризирую : - )
В старом летнике были формы и вывод данных из форм. Одни и те же данные можно было вывести в нескольких вариантах отображения, но форма заполнения всегда была одна.
В новом летнике пришлось переделать для гибкости.
Введено понятие структура данных. Структура данных включает в себя: поля, формы, вывод данных, форму расширенного поиска, события.
1. Поля. Это перечисление полей для хранения информации. Название, описание, формат ввода, формат хранения и некоторые другие параметры. В поля введены новые перечисляемые типы: метки (тэги), вложенные категории.
2. Формы. Те самые формы для ввода данных. Можно для одной структуры добавить любое количество форм. Например, в гостевой форма содержит имя, мыло, сообщение. А в админку своего сайта можно добавить форму всего с одним полем "ответ". Т.е. две формы работают с одними данными, но с разными полями и дизайнами. На этом сайте создано две формы комментирования: одна для веб, другая для мобильных.
3. Вывод данных. Это как и в старом летнике. Одни данные можно вывести кучей различных способов с сортировками, поисками, с разным расположением полей и отображением под разные устройства. Для примера на этом сайте записи дневника выводятся в 3х видах: для web, мобильного и RSS. Демонстрация: сортировки, выборок.
4. Форма расширенного поиска. Дополнение к выводу данных. В форме можно задавать сложные поисковые запросы типа: искать запись с числа по число, где больше 10 просмотров, где есть комментарии и т.д. Форма создается, размещается на сайте и пользователи смогут найти нужную им информацию. Полезно при создании интернет магазинов с большим количеством полей у товаров.
5. События. Это нововведение. В старом летнике такого не было. При работе с данными возникают стандартные события: проверка данных формы, добавление записи в базу, удаление записи и т.д. На любое из этих событий можно создать свою реакцию. На этом сайте на событие "вывод детальной информации" вызывается функция обновления записи. Если в последнее время с этого IP не просматривали эту заметку, то к счетчику просмотров добавить 1. При добавлении комментария к заметке вызывается событие, которое увеличивает на 1 кол-во комментариев в структуре дневника. Можно создавать форму регистрации прямо стандартными средствами. Создать форму и добавить событие проверки логина. В событие "проверка данных формы" добавить проверку на существование логина и если он не существует, то пропустить дальше, иначе вывести сообщение о занятости логина. А потом на событие "добавление записи" вызвать действие "отправить почту" и выслать на мыло регистрируемого сообщение об успешной регистрации. О событиях подробней напишу позже.
Новые структуры данных превратились в полноценную базу данных с описанием работы с этими данными. При этом не нужно заморачиваться на изучении sql выборок и php для вывода всех этих данных на экран.
В конструкторе поддерживается экспорт и импорт структур. Могу экспортировать свой дневник и любой желающий на своем сайте (конечно же сделанном на конструкторе letnick.com) сможет за несколько минут импортировать структуру и установить вывод себе на сайт. Хорошее поле для разработчиков сайтов.
P.S. с помощью структур данных во время тестирования смог создать полноценный форум. Кто-то скажет что движок того же форума можно бесплатно взять и установить себе. Не спорю, но если Вы захотите добавить к форуму свою фишку...
Комментариев: 2
Метки: letnick.com
21 окт 2010г 17:11:05: Автоматическая обработка картинок
На фото солевая грелка "я поросенок" : - ) Прикольная штука. Грелка заполнена гелем и в геле плавает стержень. Достаточно немного изогнуть стержень и в течении нескольких секунд гель кристаллизуется и грелка нагревается до 50 градусов. Остывает минут 10-20. Потом на 15 минут в кипящую воду. Кристаллы растворяются. Грелку можно охлаждать вытаскивать. А потом использовать когда нужно. Интересно сколько циклов выдерживает?
А теперь к самой теме. В старом летнике была возможность автоматического изменения размера картинок и наложения логотипа. Слишком примитивно : - )
В новой версии полностью изменен процесс автоматизации обработки картинки.
В админке появился специальный раздел для настройки обработок. Для одного сайта можно создать неограниченное количество обработчиков, а в каждом обработчике задать нужное количество действий. При создании структуры данных для каждого типа загружаемого изображения можно настроить свой обработчик картинок. Вот пример обработчика из моего дневника, который привязан к картинкам.
1. Загрузить в память загруженную через форму картинку.
2. Загрузить в память логотип "denvas.info".
3. Изменить размер картинки 1 до 320x240 с вырезанием из центра.
4. Наложить на загруженную картинку 3 логотип 2 с заливкой в шахматном порядке.
5. Загрузить в память картинку с засветлением правого угла.
6. Наложить на картинку полученную в пункте 4 картинку из пункта 5.
7. Сохранить картинку из пункта 6 в файл jpg формата с качеством 30.
8. Взять картинку 1 и изменить размер до 128x92 точек.
9. Наложить на 8 картинку 2.
10. Сохранить картинку 9 в jpg файл.
Действий может быть сколько угодно. На одну картинку можно накладывать разные логотипы, изменять до нужных размеров, сохранять в файл любое количество экземпляров.
Потом при добавлении новой записи в дневнике и загрузке картинки, картинка автоматически будет обработана по заданному мной алгоритму.
Можно добавить загрузку картинок и в гостевой. Но обработчик можно сделать другой. Например просто из картинки делать маленькую иконку.
Это что-то типа фотошопной записи действий. Кто создавал шаблоны действий в фотошопе, тот знает как удобно приводить все картинки к одному виду с помощью этой автоматизации.
Комментариев: 2
Метки: letnick.com,личное
21 окт 2010г 12:43:54: Только WEB
Начинаю серию заметок о новом конструкторе, над которым работаю уже почти год. За основу взяты принципы конструктора letnick.com версии 2.x, но кроме принципов в новый конструктор ни чего не перейдет.
Сегодня об автоопределении версий отображения и конструировании сайтов с сотового.
Что было в старом летнике? Система автоматически определяла версию браузера и автоматически выдавала wml, xhtml или html web версию. В этих отображениях работала и админка.
Всё это замечательно пока не начинаешь разрабатывать сайт. Например wml давно ни кому не нужен. Соответственно такая версия отображения тоже, но приходилось при создании отображения заботится и об этом старье. Другой пример. Некоторые делали сайт с сотового и везде настраивали только xhtml отображение, т.к. ни какого другого они и не видели. С компьютера веб версия без дизайна выглядела ужасно. Поэтому решено было отказаться от всяких этих мультиверсий и разработать более удобный механизм дизайнов. В итоге можно создавать сайт только тех версий, которых хочешь. Для примера в моем дневнике реализовано html отображение, xhtml для мобильных и rss канал.
Создавать сайты в новом конструкторе можно будет только с компьютеров или с нормальных коммуникаторов с полноценной поддержкой java script, кук и остального. Как показывает практика создать нормальный сайт со сотового нельзя (да простят меня фанатики, которые тратят кучу времени на свои сайты сидя с сотовым). А если ни чего хорошего с сотового не выходит, то и разрабатывать для них конструктор не стоит. Но оговорюсь. Система позволяет сделать для своего сайта практически любую админку в том числе и для сотового с поддержкой wml. Поэтому можно сделать сайт с компьютера, на сайте добавить админку и управлять данными с помощью любого устройства, для которого сделаете отображение.
Кстати отказаться от разных версий пришлось не только по этим соображениям. Все пользователи компьютеров знают что намного удобней работать с системами, поддерживающими не полное обновление страницы. Именно так я и сделал. Многие функции реализованы с помощью AJAX (Asynchronous Javascript and XML).
Для тех, кому нравилась предыдущая версия конструктора, в магазине доступны скрипты. Это не сервис создания сайтов, а движок для создания сайта. Эти же скрипты получили все пользователи старого конструктора воспользовавшись экспортом. Хочу немного доработать: сделать демосайты, вернуть wap-master.letnick.com, в админке сделать помощь как было в конструкторе и еще небольшие мелкие изменения. Экспортировавшие смогут скачивать новые версии, но это будет чуть позже.
В новом конструкторе нет ни каких мультиверсий и админка только для компьютеров.
Комментариев: 3
Метки: letnick.com
предыдущие   следующие
Страница 5 из 13: 1 2 3 4 5 6 7 8 9 10 ... 13
Страница
Показывать записей на странице

Мои проекты

Видеоканал DenvasTV

Видеоканал letnickcom

Китайский планшет

Конструктор сайтов

Магазин скриптов

Рекламная сеть

Мульти партнерская программа

Реклама

Дешевые товары из Китая

Последнее сообщение: 2014-04-25 11:57:04
Генерация: 0.040590 сек.
© Denvas 2001-2013