developing.name Решение проблем разработки сайтов. uncat php javascript jquery ajax html other C#

DataLife Engine (DLE)

Пришлось столкнуться с платным движком под название DataLife Engine. Не буду отрицать, впечатление хорошее. Административная часть так вообще на ура. Очень много настроек, гибкость системы, а главное легкость и понятливость. В общем, все, что нужно продвинутому пользователю.

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

  1. Шаблоны просто жесть... Привычка использования гибкости smarty (и подобных) дает о себе знать. Нет php поддержки, все нужно в модулях прописывать. Странно, но в login.tpl как раз наоборот. Так почему же не выбрать один способ? Либо include, либо read? И так же сделать два шаблона login, для авторизованного и для не авторизованного пользователя. Пришлось в итоге инклюдить все шаблоны.
     
  2. Один из принципов программирования нарушен: повторение одних и тех же функций (к примеру function.inc.php – для админки, и function.php – для публичной части). То есть, хочу что то изменить, и нужно искать все (а не одно!) места.
     
  3. Добавление новостей (addnews.php) и редактирование (editnews.php) в разных файлах. А значит и сами формы в разных файлах, а значит опять по сто раз менять одно и тоже. Вот захотелось добавить что то сверх естественное (не используя DLE дополнительные поля) и готовимся по два раза это делать.
     
  4. Удаление новостей тоже забавно. Устанавливается флаг “yes” в $ifdelete. Забавное в удалении то, что перед тем как удалить, он производит кучу операций которые нужны при сохранении новости. Я даже был приятно удивлен когда увидел что перед удалением, новость не обновляется. А конструкция изменения новостей, такая же как в 5п. Только из-за того, что дата подставляется.
     
  5. Способы изменения и добавления информации в базу, тоже интересные. К примеру обновление профиля пользователя:
    if( strlen( $password1 ) > 0 ) {
       
      $password1 = md5( md5( $password1 ) );
      $sql_user = "UPDATE " . USERPREFIX . "_users set fullname='$fullname', land='$land', icq='$icq', email='$email', info='$info', signature='$signature', password='$password1', allow_mail='$allow_mail', xfields='$filecontents', allowed_ip='$allowed_ip' where name='$user'";
      
      } else {
       
      $sql_user = "UPDATE " . USERPREFIX . "_users set fullname='$fullname', land='$land', icq='$icq', email='$email', info='$info', signature='$signature', allow_mail='$allow_mail', xfields='$filecontents', allowed_ip='$allowed_ip' where name='$user'";
      
      }

    Здесь не особо важно, но strlen( $password1 ) > 0 можно было бы заменить на $password1 != “”. Хотя всю конструкцию можно было бы заменить на один SQL запрос:
    $sql_user = "UPDATE " . USERPREFIX . "_users set fullname='$fullname', land='$land', icq='$icq', email='$email', info='$info', signature='$signature', " . ($password1!=""?"password='" . md5( md5( $password1 ) ) . "',":"") . " allow_mail='$allow_mail', xfields='$filecontents', allowed_ip='$allowed_ip' where name='$user'";

     
  6. Так же, хотелось бы заметить, что в SQL можно присваивать так называемые алиасы для таблиц:
    FROM " . PREFIX . "_comments as _c
    И писать потом:
    _c.id, _с.user_id и т.д. и т.п.
    а не 
    PREFIX . "_comments.id и PREFIX . "_comments.user_id

И еще, все javascript скрипты запакованы. Для чего? Для того чтобы тормозить клиентскую сторону? Все равно распаковать их не проблема.

Можно еще найти много чего, но смысл? И так все понятно. Движок очень популярен, и таким он останется. Но не для программистов это точно.

Очередной раз убеждаемся, что свой корявый код, куда приятнее чужого корявого кода.

01.07.2009, 22:41 Рубрика: other

Ссылки по теме:

  • 31.08.2010 - PHPShop
  • 01.07.2009 - DataLife Engine (DLE)

 

Комментарии



faraon0190 (03.04.2012, 00:17:57) пишет:

http://klickfilm.ru/index.php?newsid=15 вот ссылка внизу есть кнопка скачать при нажатии на нее показывается ошибка как исправить очень нужно кнопка красная

uprss (23.05.2011, 16:23:20) пишет:

<a href=″http://uprss.net/″>Rss W3C Semantic Web</a><br>Rss W3C Semantic Web

Aion-Top (30.12.2009, 20:51:57) пишет:

Насчет первого пункта. Да, использовать PHP код в шаблонах нельзя, но что мешает подключать свои файлы в шаблон простым: {include file=″myFile.php″}? :)

Ответ:

Да я лично почти все шаблоны подключил через include в загруке еще. Привычка использовать в шаблонах условия, а не только то что сгенерировалось в модуле.


 

Имя*:
e-mail*:
URL:
captcha*
Текст*:
  • datalife engine powered ©
  • DLE smarty
  • dle тормозит
  • как удалить DLE
  • ztdd "
  • dle md5
  • xfields dle
  • тормозит dle
  • md5 dle
  • developing.name
  • DLE Password
  • smarty dle
  • DLE xfields
  • dle
  • dle
  • dle
  • allows developing
  • dle
  • {xfields} dle
  • не устанавливается dle
  • datalife engine " "
  • Дополнительные поля в DLE
  • Powered by DataLife Engine
  • Форма добавления новостей dle
  • как удалить движок dle
  • xfield dle
  • dle дополнительные поля
  • "datalife engine"
  • как подключить jquery к DLE
  • не устанавливаеться dle
  • Как обновить движок DLE
  • dle {xfields}
  • "Powered By DataLife Engine"
  • dle не устанавливается
  • include в dle
  • дополнительные поля новостей dle
  • форма добавления новости dle
  • dle password md5
  • datalife engine smarty
  • dle addnews.php
  • intext
  • JQuery для DLE
  • пароль dle
  • powered by datalife engine
  • addnews.php DLE
  • datalife engine
  • zoomx "
  • web icq dle
  • как удалить движок ДЛЕ
  • DataLife Engine тормозит

jQuery plugins:
  • pro.scroll v0.3 - графический скролл для div
  • pro.sres v0.1 - подсказки при поиске
  • pro.tips v0.2 - всплывающие подсказки
  • pro.tube v0.1 - работа с YouTube ссылками
Powered by PRO