- 1
- 2
- 3
- 4
- 5
if ((!IsForum() && $url[0] != 'underwater-video' && $end_element !='diveclan' && $end_element !='partners') || ($url[0] != 'underwater-photo' && sizeof($url)==1))
if ($url[0]!='atlas-uw-photo' && !empty($title) && $end_element!='diving-guide' && $end_element!='atlas-wrecks' && $end_element!='atlas-deep' && $end_element!='atlas-caves' && $end_element!='sea-inhabitants')
if ($APPLICATION->GetCurPage()!='/underwater-video/mygallery.php' && $APPLICATION->GetCurPage()!='/underwater-video/add.php' && $APPLICATION->GetCurPage()!='/atlas_update/travel_add/index.php')
if ($url[0] != 'diving-media' && $url[0] != 'underwater-photo')
$APPLICATION->SetTitle($title);
Унифицированный костыль тайтлов на битриксе. Это лежит во вкл области, которая цепояется после </html>
Lure Of Chaos 16.08.2011 12:03 # 0
atarix12 17.08.2011 13:07 # −4
nobody 16.08.2011 13:46 # 0
atarix12 17.08.2011 14:01 # −3
и работа всегда есть)
guest 16.08.2011 13:46 # +1
atarix12 17.08.2011 13:03 # 0
Vasiliy 16.08.2011 13:58 # 0
Vindicar 16.08.2011 15:53 # +1
Lure Of Chaos 16.08.2011 16:13 # +1
Я, например, удивился когда-то такой "статье": http://ru.wikipedia.org/wiki/From_the_Cradle_to_Enslave
и таких вот 99,9%
Bazzin_Frog 17.08.2011 12:25 # 0
RaZeR 16.08.2011 20:23 # 0
>после </html>
>после </html>
Что может быть после </html>?!
inkanus-gray 16.08.2011 21:20 # +3
А на pochta.ru код ещё страшнее (лень копировать). Самое главное, что браузеры всё, что вставлено после </html>, интерпретируют, как будто тегов </body> и </html> не было.
7ion 17.08.2011 00:44 # +2
atarix12 17.08.2011 13:05 # −2
bugmenot 17.08.2011 15:19 # +1
inkanus-gray 17.08.2011 15:49 # 0
bugmenot 17.08.2011 15:55 # 0
inkanus-gray 17.08.2011 16:30 # 0
bugmenot 17.08.2011 18:40 # 0
http://encyclopediadramatica.ch/Hackers_on_steroids
Меня типа заинтересовало, реальный плакат или жаба
Bazzin_Frog 17.08.2011 12:29 # +1
atarix12 17.08.2011 13:06 # −3
Zmi 17.08.2011 13:56 # −2
Я в основном юзаю, оооо внимание реклама www.zmicron.org - тада =)
atarix12 17.08.2011 13:58 # −2
atarix12 17.08.2011 13:59 # −2
на сайте микрона убило - " Синие кнопочки основанные на css3 "
сразу видно, для профессионалов !
Zmi 17.08.2011 14:51 # −3
Прежде чем что-то говорить в код движка глянь... проффисионал блеать :-)
atarix12 18.08.2011 05:49 # −2
istem 07.09.2011 16:21 # 0
Zmi 07.09.2011 16:53 # 0
Zmi = Зайцев Михаил Иванович
Lure Of Chaos 18.08.2011 12:06 # 0
Zmi 18.08.2011 12:20 # −1
Для меня micron проще, и работает хоть по очень упращённой но HMVC модели.
Так же в нём можно отдельно для каждого компонента создавать свой <head> в котором прописывать css и js например, после чего либа ExtraPacker все равно сольёт все это в 1-у css и js-ку. Вообщем удобно то, что не только логика и шаблон разделены и еще и css и js файлы этого кусочка шаблона тоже, есть header_footer-ый шаблон сразу, да и код простой до безумия - открыл index и понял за 10 минут все.
Но все это мелочь на самом деле - просто он не плох, раньше я за частую брал CodeIgniter для простых и Kohana для сложных, а теперь почти всегда на micron-е сижу и вроде как хватает...
Lure Of Chaos 18.08.2011 15:46 # 0
> Для меня micron проще
для вас проще потому, что вы его и написали.
> хоть по очень упращённой но HMVC модели
а что такое "очень упрощенная HMVC модель"?
> Так же в нём можно отдельно для каждого компонента создавать свой <head>
вот это уже понравилось
> есть header_footer-ый шаблон сразу
а зачем? во-первых, вы утверждаете, что у вас HMVC, что противоречит с данным утверждением (если только вы как раз это и понимали под HMVC), во-вторых, очень ограничивает в возможностях.
Поясню: например, мне нужно на всех страницах выводить не хедер и футер, а сайдбар - скажем с приветствием навигацией. Причем, приветствие не на всех страницах одинаковое. HMVC подразумевает, что я могу во view шаблона вставить подключение view сайдбара, но это не хедер и не футер.
> - открыл index и понял за 10 минут все.
этим и ограничивается документация?
> CodeIgniter для простых и Kohana для сложных
странное разделение:
1. кохана - это форк CI,
2. разве CI еще не умер?
Zmi 18.08.2011 18:20 # 0
ну сложно сранивать с тем на чем не работал - потому аргументов и не привел
> хоть по очень упращённой но HMVC модели
под hmvc я имел ввиду компонентная модель mvc и так действительно она сделана, однако по сути ф-я IncludeCom там делает просто несколько require файлов: языкового, контроллера и шаблона, без например CI-шной передачи параметров во вьевре, просто require подрят
> есть header_footer-ый шаблон сразу
А вот под этим я видимо не то имел ввиду, что вы. Попробую пояснить, что хотел сказать :-)
Очень часто на страницах есть одинаковый шаблон, так вот он может быть занесён в общий template (tpl/main_template.php). Тогда получается такая ситуация например вызывается страница www.example.com/users выполняется контроллер users (он может вызвать еще кучу контроллеров, например для прорисовки каждого юзера и пр.) потом получившийся контент (если соответсвующий конфиг еще включен) будет выведен через tpl/main_template.php что бы вывестить в основной "рамке" сайта, а этот main_template.php может вызвать и кучу других контроллеров например сайтбар и навигацию и пр.
Т.е. сам по себе код может быть например таким:
вызываем www.example.com/users тогда движ подключает:
1) src/users.php:
$page = Get('p', 1);
$um = new UserModel();
$users = $um->GetList($page);
2) tpl/users.php // здесь будут доступны все переменные которые были в src/users.php, пример без шаблонизатора, так что не ругайте )
<head>
<link rel="stylesheet" type="text/css" href="<?= Root('i/css/users_list_design.css')?>" />
</head>
<div class="users">
<?php foreach ($users as $uid => $u)
{
// Тут включиться src/one_user, tpl/one_user которая тоже может свои css/js содержать
IncludeCom('one_user', array('user_id' => $uid)); // можно переменные в компонент вставлять
}
?>
</div>
Zmi 18.08.2011 18:20 # 0
ob_start();
IncludeCom($_GET['query']); // в query например users может быть
$content = ob_get_clean();
IncludeCom('main_template', array('center_page' => $content)); // в tpl/main_template главный хед и боди сайта наример
> открыл index и понял за 10 минут все.
С докой действительно пока беда, как и с набором компонентов есть нормальные:
например рассказывающие о простой дефолтной модели: http://www.zmicron.org/?q=coms/def_model
а есть которые вставил чисто что бы инфа под рукой была (дефолтная ксс-ка для оконной рамки)
> CodeIgniter для простых и Kohana для сложных
Кохана с 3-ей версии уже не форк был, сейчас отдельно ветки 2-ая (форк CI) и 3-ая которая целиком с 0-ля.
А CI все еще жив, не так давно даже обновлялся в англ сигменте :-)
Ну а вообще в нём много удобных вещей, которые при этом не сложно заменить:
1) включен уловитель ошибок Debug_ErrorHook (от dklab)
2) при желании можно скачать в компонентах дефолтную модель которая как бд юзает DbSimple и профайлер
3) есть XDebug профайлер для отлова, тож в компонентах
3) куча визуальных плющек подключаемых, например слайдер jquery-tools (тож в компонентах)
Подключается в нужное место вот так:
<?php IncludeCom("slider_head")?> // js и css (потом солются в одну)
<?php IncludeCom("slider", array("panels" => array("test 1", "test 2", "test 3")))?> // контент панелей
Просто не всегда надо и потому сам движ по дефолту пустой.
Lure Of Chaos 18.08.2011 18:38 # 0
наверное, несложные проекты летают, но для более серьезных есть минусы:
1. функции и переменные определены глобально
2. шаблон (layout) один для всех
3. многие вещи, как, например, загрузка классов, все равно приходится дописывать самому
+. а где руты, работа с базой, проверка и фильтрация данных и т.д.?
кроме того, всякие эти котеровские "уловители" морально устарели.
Lure Of Chaos 18.08.2011 19:24 # 0
1. Компонентная модель: в одной папке компонента (и подпапках) находится все, связанное с ним - код, шаблон(ы), стили, скрипты, конфига, языковые файлы и т.д.
1.2. Именование и расположение классов соответствует Zend Naming Conventions (Класс Package1_Package2_Class находится в /Package1/Package2/Class.php)
2. MVP и Passive Template - вид и поведение компонента определено в шаблоне (Вид), а не в контроллере, при этом управляющего кода в шаблоне нет.
2.1.Зато есть связанный с ним Обработчик(типа Контроллера), который реагирует на ввод (подача формы), но изменяет только Модель
2.2.Модель связана как с Обработчиком, так с Видом, но Вид не связан явно с Обработчиком
3. Слабая связанность классов - все классы выполняют строго только свою задачу, минимально требуя(в идеале - ссылок быть не должно) ссылки на другие классы. Таким образом, облегчается использования различных классов почти из любого места в коде
3.1. Функциональность "по запросу" (On Demand) - загружаются только необходимые классы и рождаются в минимальном количестве. Например, если мы не используем БД, Модель не будет содержать ссылок ни на какие неиспользуемые классы.
3.2. Универсальная функциональность обеспечена за счет разнообразия классов, а не их "жирности" - используются соотв. подклассы с однообразным интерфейсом нужного процента "жирности"
3.3. кеширование различными бекэндами, сохранение состояния классов и промежуточных результатов в сессии и пул объектов должен, по идее, дать ускорение по времени "подъема" всего стека
4. возможность интеграции с существующими технологиями:
4.1. использования классов из богатой библиотеки Зенда
4.2. ? может быть, каскадная ФС, слизанная из Коханы, хотя в ней больше недостатков, нежели преимуществ (да, можно расширять системные классы, но они в глобальном неймспейсе, и расширение класса одним модулем теряется расширением из другого )
Lure Of Chaos 18.08.2011 19:32 # 0
1. оставлять ли структуру, как во многих фреймворках (папки application, library\modules, system) или собирать функциональность из кусочков модулей (каждому выделять свои руты, на которые они реагируют)
2. в Windows пути регистронезависимы, и конфигу congig.php рядом с классом Config.php обьявить не удается, более того - если будем искать класс, а найдем конфигу или наоборот, система недоумевает
Zmi 18.08.2011 20:14 # −1
все остальное "глобалится" в функции IncludeCom и там же двигает кони :-) так что не беда на мой взгяд.
+ Людям его очень просто объянить, а зенд мне чесно говоря самому не нравится, написал на нём 3 проекта, но как же там увешаны всем подрят его классы, такая куча функциональности которую я даже представить не могу себе где применить... может я конешно просто туп для нее сейчас, но пока мое мнение такое :-) А кохана вроде пошла значительно легче (наверное потому что начал с CI) правда синтаксис си-шный мне не нравицо, хотя и MZZ стилистика тоже не прельщает...
А про идеи конешно круто, многи правда мне напоминают тот же MZZ там тоже правильно сделали что шаблон управляем контроллером а не наоборот, тоже компонентность, кстати там тоже скливальщик всех ксс и js есть :-) так что компоненты можно с визуализацией хранить. Классы у них тоже маленькие что приятно, кстати кешер ресурсов (когда пыха картинки и пр. отдаёт) помню как их разлядывал и воровал части в свой (http://www.zmicron.org/?q=coms/browser_data_cache) а вообщем здорово конешно помню я тож хотел написать большой движ, но не потянул - написал этот, и как-то чертовски доволён :-)
Lure Of Chaos 18.08.2011 20:17 # 0
Zmi 18.08.2011 20:28 # −1
и склеивальщик css и js тоже сработает только если через смарти вставлены линки на них.
roman-kashitsyn 18.08.2011 20:47 # +2
Интересно, почему от java-программиста так редко можно услышать фразу "я сейчас переписываю свой web-фрэймвёрк, основываясь на следующих принципах..."
Lure Of Chaos 18.08.2011 20:57 # 0
1. уже есть tapestry5
2. на пхп - есть куча всяких фреймворков, но именно вот такого почему-то нет (как минимум на компонентной основе, а не мвц)
bugmenot 18.08.2011 20:35 # 0
Lure Of Chaos 18.08.2011 20:38 # 0
roman-kashitsyn 17.08.2011 21:39 # +3
Кстати, PHP-гуру, как вы храните проекты в системе контроля версий? К примеру, в битриксе код и страницы сайта перемешаны с кодом фрэймвёрка (подозреваю, что во многих движках также). Делаете стандартные бэкапы, предусмотренные фрэймвёрком? Храните в SCM всё вместе, включая код фрэймвёрка? Храните дерево своих файлов отдельно и делаете rsync?
В java-мире каждое веб-приложение и фрэймвёрк - один или несколько архивов, которые могут собираться из независимых источников, легко заменяться и обновляться.
scriptin 17.08.2011 23:10 # +1
roman-kashitsyn 17.08.2011 23:40 # +1
В битриксе тоже так, но там эти директории находятся в дереве с кодом движка, а не в собственном поддереве. То есть примерно так:
И такие "островки" по всему дереву каталогов. Неудобно же хранить в scm...
scriptin 18.08.2011 16:28 # 0
guest 28.01.2017 14:45 # 0
barop 28.01.2017 06:13 # 0
Может ты еще и боярышник пил?
guest 27.01.2017 20:47 # 0
и получайте от 8950 рублей каждые сутки в автоматическом режиме.
Мы гарантируем:
- Первый заработок в течении 60 минут.
- Стабильный доход 24 часа в сутки.
- Поступление денег без задержек.
- Для России, стран СНГ и Европы.
- Без вложений и установки ПО.
- Специально для новичков и людей без опыта.
Ознакомтесь с условиями у нас на сайте. ( prosto.zarplatt.ru )
inkanus-gray 27.01.2017 23:07 # 0
guest 25.04.2017 08:46 # 0
В предлагаемую нами услугу “Трастовые площадки” входит:
— База – 400 трастовых сайтов
— Создание специальной почты при регистрации
— В почтовом ящике – более 100 писем подтверждений с площадок
— Регистрация осуществляется профессионалом вручную
— Подтверждение писем активации проходит вручную
— Описание составляет опытный, грамотный специалист-копирайтер
— В отчет входит список страниц со ссылой Вашего сайта
— Почтовый ящик с письмами передается заказчику
— Максимальный срок выполнения работ – 15 дней.
-$$-