PDA

Просмотр полной версии : [Разработка] Smart WoW Site


VenT
17.01.2011, 05:19
Репо: http://bitbucket.org/VenT/smartwowsite .

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

На данный момент реализовано:

Удобный шаблонизатор
Мульти-язычность
Некоторые классы для работы с сервером и базой даннных

Планируется реализовать еще поддержку мульти реалмов и еще много вещей.

Кот ДаWINчи
17.01.2011, 06:55
ну скажем так: сейчас просто взят за основу данный фреймворк, и ..... пока более ничего не реализовано. (кроме нескольких картинок для стандартного дизайна) :(

Самореклама?

ps. Кто оценил сей движок: "Удобный шаблонизатор", если проект ни разу не скачали? Сам автор? Удобство - это потребительская характеристика, а не разработчика.

Minimajack
17.01.2011, 10:44
ну скажем так: сейчас просто взят за основу данный фреймворк, и ..... пока более ничего не реализовано. (кроме нескольких картинок для стандартного дизайна) :(
насколько видно - реализация есть...
несколько контроллеров и модель ( шаблонную можно выкинуть имхо )

Самореклама?

неее-ее-е )) донат =)))

ps. Кто оценку сего движка: "Удобный шаблонизатор" Если проект ни разу не скачали? Сам автор? Удобство - это потребительская характеристика, а не разработчика.
зы ...шаблонами не пахнет (не считая нативного CI )
автоподстановка нужного вью - наверное это и есть для автора удобство
ззы проект не качал, качать особо нечего...да и в любом случае пока только [Разработка]

Shadez
17.01.2011, 11:04
Меня больше интересует "Smart" в названии) Просто так или будет что-то эдакое? =)

Minimajack
17.01.2011, 12:45
Меня больше интересует "Smart" в названии) Просто так или будет что-то эдакое? =)
Чесно говоря после фраз об "удобном шаблонизаторе" и присутствии в топике "Smart" я подумал о шаблонизаторе смарти...
может действительно планируется, что то умное :pardon: интересно аффтар напишет хоть что?
Я бы с удовольствием посмотрел бы на реализацию админки

MaxK
17.01.2011, 13:37
А зачем в самом начале проекта разрабатывать мультиязычность?
На мой взгляд в самом начале надо делать, ну хотябы админку(пример - http://ru-mangos.ru/showthread.php?t=115 ) ,тем более ее нигде почти нет.Ну ладно мультирилмы и классы(для работы с сервером и БД,и то это для разработчиков,а не для потребителей).А так мультиязычность...Имхо все же это второстепенные функции.
Вообщем должен быть функционал.

Кот ДаWINчи
17.01.2011, 13:38
неее-ее-е )) донат

Интелектуальный? ;) (Типа вы напишите для/за меня...)

Меня больше интересует "Smart" в названии) Просто так или будет что-то эдакое? Присоединяюсь, но написать про это в первом посте не решился.

Планируется реализовать еще поддержку мульти реалмов и еще много вещей. Ну как бы с этого нужно начинать, дабы потом не было жутко горько за все свои труды, запертые в рамки конкретной реализации самого движка. Ибо после полной реализации (или на поздних этапах реализации) проекта ввести в него какую-то новую фундаментальную составляющую это сродни "написать всё с нуля".

VenT
17.01.2011, 14:41
ну скажем так: сейчас просто взят за основу данный фреймворк, и ..... пока более ничего не реализовано. (кроме нескольких картинок для стандартного дизайна) :(

Самореклама?

ps. Кто оценку сего движка: "Удобный шаблонизатор" Если проект ни разу не скачали? Сам автор? Удобство - это потребительская характеристика, а не разработчика.
Саморекламой тут и не пахнет. Данный фреймворк был взят за основу по нескольким причинам:

Разделение на код и так называемые "показы"(вьюверы), что как раз и представляет собой по сути тот же самый смарти.
Хорошая безопасность
Удобен в установке и использовании

На счет удобства:) Слышал пару мнений по этому и написал.
Да впринципе и для меня тоже удобно

насколько видно - реализация есть...
несколько контроллеров и модель ( шаблонную можно выкинуть имхо )

Выкидывать никак нельзя. Она нужна для того чтобы обеспечить динамическую загрузку шаблонов. Если убрать будешь делать каждую страничку отдельно.

зы ...шаблонами не пахнет (не считая нативного CI )

Посмотреть немного глубже и увидите что разница может небольшая а есть. Дабы ускорить время генерации страниц я не стал делать в шаблонах переменные типа {blablabla}. Я не думаю, что тем, кто может со временем будут использовать движок, будет намного труднее написать в шаблоне прямой вывод .

ззы проект не качал, качать особо нечего...да и в любом случае пока только Разработка
Да, вы правы, пока разработка. Но если будут идеи выкладывайте

Меня больше интересует "Smart" в названии) Просто так или будет что-то эдакое? =)
Будет движок со встроеным кабинетом, админкой и может сделаем интеграцию с форумами.

Чесно говоря после фраз об "удобном шаблонизаторе" и присутствии в топике "Smart" я подумал о шаблонизаторе смарти...
может действительно планируется, что то умное :pardon: интересно аффтар напишет хоть что?
Я бы с удовольствием посмотрел бы на реализацию админки
Я бы тоже с удовольствием посмотрел :thank_you:, но прежде чем ее реализовать нужно еще основные части доделать, например поддержку нескольких реалмов.

Minimajack
17.01.2011, 14:42
Интелектуальный? ;) (Типа вы напишите для/за меня...)

реальный =)))
Smart WoW Site - free project. Help us, donate please: Rxxxxxxxxxxxxxxx Zxxxxxxxxxxxxxxx Uxxxxxxxxxxxxxxx

VenT
17.01.2011, 14:47
реальный =)))
Как бы мы здесь не донат обсуждаем)

Minimajack
17.01.2011, 16:48
Разделение на код и так называемые "показы"(вьюверы), что как раз и представляет собой по сути тот же самый смарти.

не мешайте все в кучу, сравнили х..й с пальцем ( шаблон программирования и шаблонизатор )


Выкидывать никак нельзя. Она нужна для того чтобы обеспечить динамическую загрузку шаблонов. Если убрать будешь делать каждую страничку отдельно.

не особо там и динамично получается, все в 2х файлах забито и размазано "sws_loader" +Template(который модель) :mda:
лучше бы добавил в MY_Controller функцию вывода шаблона и наследовал от нее свои контроллеры, те же яйца только в профиль, зато всегда можно перегрузить вывод в любом контроллере :pardon:

VenT
17.01.2011, 19:20
не мешайте все в кучу, сравнили х..й с пальцем ( шаблон программирования и шаблонизатор )

Суть то одна и та же (:

не особо там и динамично получается, все в 2х файлах забито и размазано "sws_loader" +Template(который модель) :mda:
лучше бы добавил в MY_Controller функцию вывода шаблона и наследовал от нее свои контроллеры, те же яйца только в профиль, зато всегда можно перегрузить вывод в любом контроллере :pardon:

Есть желание переделать?) я не против)

tempura
17.01.2011, 21:05
Можно узнать глубинный смысл наличия в проекте файлов "Thumbs.db"?

Зачем в каждую папку укладывать index.html с текстом "Directory access is forbidden", если есть .htaccess?

VenT
17.01.2011, 21:31
Можно узнать глубинный смысл наличия в проекте файлов "Thumbs.db"?

Зачем в каждую папку укладывать index.html с текстом "Directory access is forbidden", если есть .htaccess?

Тумбы уберу. Мусор от дизайна, ведь не мой. А укладывать хтмл странички в каждю папку не моя затея а кодигнитера)

Здоровая критика это конечно хорошо, хотелось бы еще услышать хотя бы пару предложений, что бы вы хотели видеть.

Minimajack
17.01.2011, 22:34
Есть желание переделать?) я не против)

class Welcome extends Site_Controller {
function Welcome()
{
parent::Controller();
$this->load->helper('url');
}

function index()
{
$template = $this->config->item("template");

$params = array
(
'title' => 'Test page',
'template' => $template
);

$this->display($template, 'main', $params);
}
}

MY_Controller.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Site_Controller extends Controller
{
function Site_Controller()
{
parent::Controller();

}
function display($template, $page, $params, $templtype = 'sws_loader')
{
$this->load->helper('language');
if (!is_array($params))
return "Error! Please, check that params included in array";

$main_title = $this->config->item("main_title");
$params['title'] = $main_title." - ".$params['title'];
if (!$params['lang'])
$params['lang'] = $this->config->item("language");

$params['url'] = base_url();
$this->lang->load('main' ,$params['lang']);

$_loader = $this->load->view($template."/".$templtype, '',true);
$_loadorder = explode("|", $_loader);
foreach($_loadorder as $key => $value)
{
if (strpos($value, '_dynpartofview_'))
$this->load->view($template."/".trim($page), $params);
else
$this->load->view($template."/".trim($value), $params);
}
return true;
}
}

/* End of file MY_Controller.php */
/* Location: ./system/application/libraries/MY_Controller.php */

1. если уж используешь хелпер lang, будь добр замени в шаблонах все по типу lang['main_powered'] на lang('main_powered') (это как бы намек на ошибку)
2. убери пробел после динчасти... а то у меня замечательно пробел приплюсовывался к футеру и искался файлик с пробелом в имени(результат еррор)
header|
_dynpartofview_|
footer
3. шорттэги зло...
4. желаний копать чужой код никогда не возникало :mda:
5. работает http://xmages.net/storage/10/1/0/0/f/upload/74806d64.jpg

tempura
18.01.2011, 01:59
гыг...
какой дизайн-то знакомый. :) :) :) Там еще штук пять (или больше) сменных шапок было, в т.ч. на флеше.

VenT
18.01.2011, 05:14
class Welcome extends Site_Controller {
function Welcome()
{
parent::Controller();
$this->load->helper('url');
}

function index()
{
$template = $this->config->item("template");

$params = array
(
'title' => 'Test page',
'template' => $template
);

$this->display($template, 'main', $params);
}
}

MY_Controller.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Site_Controller extends Controller
{
function Site_Controller()
{
parent::Controller();

}
function display($template, $page, $params, $templtype = 'sws_loader')
{
$this->load->helper('language');
if (!is_array($params))
return "Error! Please, check that params included in array";

$main_title = $this->config->item("main_title");
$params['title'] = $main_title." - ".$params['title'];
if (!$params['lang'])
$params['lang'] = $this->config->item("language");

$params['url'] = base_url();
$this->lang->load('main' ,$params['lang']);

$_loader = $this->load->view($template."/".$templtype, '',true);
$_loadorder = explode("|", $_loader);
foreach($_loadorder as $key => $value)
{
if (strpos($value, '_dynpartofview_'))
$this->load->view($template."/".trim($page), $params);
else
$this->load->view($template."/".trim($value), $params);
}
return true;
}
}

/* End of file MY_Controller.php */
/* Location: ./system/application/libraries/MY_Controller.php */

1. если уж используешь хелпер lang, будь добр замени в шаблонах все по типу lang['main_powered'] на lang('main_powered') (это как бы намек на ошибку)
2. убери пробел после динчасти... а то у меня замечательно пробел приплюсовывался к футеру и искался файлик с пробелом в имени(результат еррор)
header|
_dynpartofview_|
footer
3. шорттэги зло...
4. желаний копать чужой код никогда не возникало :mda:
5. работает http://xmages.net/storage/10/1/0/0/f/upload/74806d64.jpg
На счет первого пункта. Ты бы посмотрел что там я не обычную функцию юзаю :) а свою. Как то не хочется вызывать 500 раз эту фукнцию.
На счет пункта 2, приплюсоваться пробел в футере никак не может, ибо юзаю функцию трим. Конечно не очень сделал "профессионально" =))) sws_loader но за то просто =) Кстати нахрена ты передавать в функцию дисплей переменную $templtype = 'sws_loader' если она так всегда и будет равна?) Кстати вариант совсем не плохой если обьединить темплейт модель и контроллер.
гыг...
какой дизайн-то знакомый. :) :) :) Там еще штук пять (или больше) сменных шапок было, в т.ч. на флеше.
Так я ж говорил) дизайн не мой)

P.S: сегодня придумал немного другой механизм реализации шаблонов :) Приду - сделаю.

tempura
18.01.2011, 05:56
Так я ж говорил) дизайн не мой) Это понятно. Сменные шапки реализованы?

Minimajack
18.01.2011, 10:10
На счет первого пункта. Ты бы посмотрел что там я не обычную функцию юзаю :) а свою. Как то не хочется вызывать 500 раз эту фукнцию.

можно было и перегрузить, зачем родные файлы CI коцать? :mda:
сравни вызов этой функции и твоей...
твою надо вызывать в каждом "шаблоне", при этом создается дополнительный массив + вложенные циклы + вызов функции внутри( и это надо умножить на кол-во используемых шаблонов со словами)...
в стандарте; просто проверка на существование и вывод (то есть на слово 3 вызова функций lang()->get_instance()->line() причем очень элементарных) например последняя:
$line = ($line == '' OR ! isset($this->language[$line])) ? FALSE : $this->language[$line];
проблем с мультиязычностью не имеет, что еще надо то?
словарный запас будет расти у ухудшать производительность - твой код будет 100% проигрывать
если выводить кучу слов, тогда да быстрее.

На счет пункта 2, приплюсоваться пробел в футере никак не может, ибо юзаю функцию трим.

говорю как было...искался файл footer ; дамп показывал наличие символа перед " footer", вручную почистил стало все нормально ...
попробую повторить =)))

Кстати нахрена ты передавать в функцию дисплей переменную $templtype = 'sws_loader' если она так всегда и будет равна?)

что бы можно было говорить про "динамический", не обязательно в контроллере выводить через 'sws_loader' , например, создать 'sws_loader_with_mego_panel_for_mego_admina' и передавать параметром его

VenT
18.01.2011, 14:12
можно было и перегрузить, зачем родные файлы CI коцать? :mda:
сравни вызов этой функции и твоей...
твою надо вызывать в каждом "шаблоне", при этом создается дополнительный массив + вложенные циклы + вызов функции внутри( и это надо умножить на кол-во используемых шаблонов со словами)...
в стандарте; просто проверка на существование и вывод (то есть на слово 3 вызова функций lang()->get_instance()->line() причем очень элементарных) например последняя:

А что вы будете делать если будет в шаблоне на каждой странице около 200-300 фраз?

проблем с мультиязычностью не имеет, что еще надо то?
словарный запас будет расти у ухудшать производительность - твой код будет 100% проигрывать
если выводить кучу слов, тогда да быстрее.

На счет этого тоже подумал немного реорганизую мультиязычность :)
Функции буду юзать все равно свои. Каждый раз вызывать функцию чтобы выдернуть из массива слово не вариант.

говорю как было...искался файл footer ; дамп показывал наличие символа перед " footer", вручную почистил стало все нормально ...
попробую повторить =)))

В следующих ревах это свс лоадер вообще будет стерт с лица земли).

Добавлено через 46 секунд
Это понятно. Сменные шапки реализованы?

Что вы имеете ввиду? Можно конкретнее?

Minimajack
18.01.2011, 15:04
А что вы будете делать если будет в шаблоне на каждой странице около 200-300 фраз?
можно мне пример страницы где будет находится такое кол-во изменяемых слов? максимум 20 имхо
в вашем варианте с параметрами в шаблон передавал бы:
1. указатель на языковой массив
2. указатель на CI
альтернатива - кеш


На счет этого тоже подумал немного реорганизую мультиязычность :)
Функции буду юзать все равно свои. Каждый раз вызывать функцию чтобы выдернуть из массива слово не вариант.

дак не надо вообще юзать функции, если уж на таком экономите

VenT
18.01.2011, 16:31
можно мне пример страницы где будет находится такое кол-во изменяемых слов? максимум 20 имхо
в вашем варианте с параметрами в шаблон передавал бы:
1. указатель на языковой массив
2. указатель на CI
альтернатива - кеш


дак не надо вообще юзать функции, если уж на таком экономите
Ну у каждого программиста свое мнение на этот счет :)