Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   WWW (http://mangos.ytdb.ru/forumdisplay.php?f=23)
-   -   [Разработка] Smart WoW Site (http://mangos.ytdb.ru/showthread.php?t=3498)

VenT 17.01.2011 05:19

[Разработка] Smart WoW Site
 
Репо: http://bitbucket.org/VenT/smartwowsite .

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

На данный момент реализовано:
  • Удобный шаблонизатор
  • Мульти-язычность
  • Некоторые классы для работы с сервером и базой даннных
Планируется реализовать еще поддержку мульти реалмов и еще много вещей.

Кот ДаWINчи 17.01.2011 06:55

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

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

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

17.01.2011 10:44

Цитата:

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

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

Сообщение от Кот ДаWINчи (Сообщение 18549)
Самореклама?

неее-ее-е )) донат =)))
Цитата:

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

зы ...шаблонами не пахнет (не считая нативного CI )
автоподстановка нужного вью - наверное это и есть для автора удобство
ззы проект не качал, качать особо нечего...да и в любом случае пока только
Цитата:

[Разработка]

Shadez 17.01.2011 11:04

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

17.01.2011 12:45

Цитата:

Сообщение от Shadez (Сообщение 18555)
Меня больше интересует "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

Цитата:

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

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

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

Саморекламой тут и не пахнет. Данный фреймворк был взят за основу по нескольким причинам:
  1. Разделение на код и так называемые "показы"(вьюверы), что как раз и представляет собой по сути тот же самый смарти.
  2. Хорошая безопасность
  3. Удобен в установке и использовании
На счет удобства:) Слышал пару мнений по этому и написал.
Да впринципе и для меня тоже удобно

Цитата:

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

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

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

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

Цитата:

Сообщение от Shadez (Сообщение 18555)
Меня больше интересует "Smart" в названии) Просто так или будет что-то эдакое? =)

Будет движок со встроеным кабинетом, админкой и может сделаем интеграцию с форумами.

Цитата:

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

Я бы тоже с удовольствием посмотрел :thank_you:, но прежде чем ее реализовать нужно еще основные части доделать, например поддержку нескольких реалмов.

17.01.2011 14:42

Цитата:

Сообщение от Кот ДаWINчи (Сообщение 18559)
Интелектуальный? ;) (Типа вы напишите для/за меня...)

реальный =)))
Цитата:

Smart WoW Site - free project. Help us, donate please: Rxxxxxxxxxxxxxxx Zxxxxxxxxxxxxxxx Uxxxxxxxxxxxxxxx

VenT 17.01.2011 14:47

Цитата:

Сообщение от Minimajack (Сообщение 18566)
реальный =)))

Как бы мы здесь не донат обсуждаем)

17.01.2011 16:48

Цитата:

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

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

Цитата:

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

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

VenT 17.01.2011 19:20

Цитата:

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

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

не особо там и динамично получается, все в 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

Цитата:

Сообщение от tempura (Сообщение 18589)
Можно узнать глубинный смысл наличия в проекте файлов "Thumbs.db"?

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

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

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

17.01.2011 22:34

Цитата:

Сообщение от VenT (Сообщение 18581)
Есть желание переделать?) я не против)

Код:

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. работает

tempura 18.01.2011 01:59

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

VenT 18.01.2011 05:14

Цитата:

Сообщение от Minimajack (Сообщение 18599)

На счет первого пункта. Ты бы посмотрел что там я не обычную функцию юзаю :) а свою. Как то не хочется вызывать 500 раз эту фукнцию.
На счет пункта 2, приплюсоваться пробел в футере никак не может, ибо юзаю функцию трим. Конечно не очень сделал "профессионально" =))) sws_loader но за то просто =) Кстати нахрена ты передавать в функцию дисплей переменную $templtype = 'sws_loader' если она так всегда и будет равна?) Кстати вариант совсем не плохой если обьединить темплейт модель и контроллер.
Цитата:

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

Так я ж говорил) дизайн не мой)

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

tempura 18.01.2011 05:56

Цитата:

Сообщение от VenT (Сообщение 18610)
Так я ж говорил) дизайн не мой)

Это понятно. Сменные шапки реализованы?

18.01.2011 10:10

Цитата:

Сообщение от VenT (Сообщение 18610)
На счет первого пункта. Ты бы посмотрел что там я не обычную функцию юзаю :) а свою. Как то не хочется вызывать 500 раз эту фукнцию.

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

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

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

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

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

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

VenT 18.01.2011 14:12

Цитата:

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

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

проблем с мультиязычностью не имеет, что еще надо то?
словарный запас будет расти у ухудшать производительность - твой код будет 100% проигрывать
если выводить кучу слов, тогда да быстрее.
На счет этого тоже подумал немного реорганизую мультиязычность :)
Функции буду юзать все равно свои. Каждый раз вызывать функцию чтобы выдернуть из массива слово не вариант.
Цитата:

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

Добавлено через 46 секунд
Цитата:

Сообщение от tempura (Сообщение 18612)
Это понятно. Сменные шапки реализованы?

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

18.01.2011 15:04

Цитата:

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

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

Цитата:

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

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

VenT 18.01.2011 16:31

Цитата:

Сообщение от Minimajack (Сообщение 18628)
можно мне пример страницы где будет находится такое кол-во изменяемых слов? максимум 20 имхо
в вашем варианте с параметрами в шаблон передавал бы:
1. указатель на языковой массив
2. указатель на CI
альтернатива - кеш


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

Ну у каждого программиста свое мнение на этот счет :)


Текущее время: 16:17. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS