Перейти к публикации

lifestar

Клиенты
  • Публикации

    4 080
  • Зарегистрирован

  • Посещение

  • Дней в лидерах

    5

Сообщения, опубликованные пользователем lifestar

  1. Потому что при текущих возможностях скрипта, нужно делать сотни дополнительных проверок и выполнения лишнего кода, чтобы обеспечить полноценную совместимость.
    Какие ещё сотни проверок? Всего одну - поддерживает ли браузер History Api

    При использовании подгрузки на AJAX нельзя использовать подобное сжатие потому JS скрипты не распаковывают контент, им нужно отдавать всегда незапакованный контент
    Здрасти приехали! Уже как пару лет успешно отдаю сжатый контент по ajax и распаковывает его не скрипт, а браузер (который собственно и делает запрос и получает ответ)

    Поддерживаю мысль о том, что использование ajax в любом случае экономит ресурсы и трафик

    • Поддерживаю 1
  2. При нажатии на кнопку подтверждения согласия с правилами на сайте идет переброс на страницу регистрации без доп параметра
    В этом вся негибкость DLE.

    Кстати, по моему мнению, правила на сайте вообще не нужны (лишний клик). Отключай их и выводи в форме регистрации отдельной ссылкой на http://dle-news.ru/dle-rules-page.html (только домен поменяй), с пометкой что регистрируясь на данном сайте пользователь автоматически принимает правила как оферту и всё ок!))

  3. Можно сделать так

    В шаблоне:

    
    <script type="text/javascript" src="{THEME}/js/main.js" class="js"></script>
    
    
    в main.js
    
    var path = $('script.js').attr('src').replace('js/main.js', 'css/');
    
    
    Но для DLE проще такой путь: в шаблон:
    
    <script type="text/javascript">
    
    var theme_path = '{THEME}';
    
    </script>
    
    
    у вот у вас глобальная переменная с адресом папки шаблона. Можно даже ещё проще - вызывать откуда угодно
    
    var path = dle_root+'templates/'+dle_skin
    
    

  4. если поменять адрес регистрации, то все боты отсеятся, проверено уже несколько месяцев не нескольких сайтах с посещалкой до 60к в сутки.

    как менять адрес регистрации - подробно расписывал Zeos

    При всём своём уважении к Zeos, то, что он предложил - полное дерьмо! :)

    Умопомрачительно много изменений! И все в ядре...

    Уже давно пора отучить себя вносить изменения в код DLE, иначе сами себе прибавляете работы при обновлении движка.

    В качестве альтернатичного решения, предложу следующий грязный хак:

    В файл шаблона registration.tpl в самый вверх пишем

    
    {include file="/_dle_ext/connector.php?act=registration"}
    
    
    Путь и имя файла на ваше усмотрение. У меня эта папка в корне с названием _dle_ext, для всяческих экстеншенов. Все изменения только там)) Файл connector.php это реально коннектор между моими классами и методами с DLE. Внутри этого файла switch переменной $act, которая приходит из шаблона. Так вот для вашего случая сойдёт и такой упрощённый код:
    
    if($act == 'registration' && (!isset($_GET['hash']) || $_GET['hash'] != '555')){
    
    die;
    
    }
    
    

    Соответственно делаем ссылку на регистрацию такой: index.php?do=register&hash=555

    При желании, можете генерировать hash динамически, скажем на основе данных посетителя.

    Почему хак грязный? Я не сторонник убивать страницу и показывать белый экран. Этот код я написал только что специально для решения вашей проблемы. Но у вас есть возможность сделать свой экшн, например редирект на страницу 404 или показать другой шаблон (для этого используйся прямо в файле connector.php переменную $this - это и есть класс $tpl (поскольку мы инклудимся напрямую из него)

    Вот и всё, пис! ;)

    • Поддерживаю 2
  5. Разработка шаблона это никак не "небольшой бюджет".

    Советую не морочить себе голову, а пойти на themeforest.net, за 15-20 взять крутой шаб и если не самому, то уже искать чела, который адаптирует его под DLE (а это вам дешевле раза в 3 обойдтся)

  6. Привет!)

    1. Я думал DLE уже давно использует внутренний роутер, не зависимый от апача или нгинкса, что несомненно удобно было бы

    2. В правилах в первом посте одна синтаксическая ошибка (лишний пробел): для исправления вместо

    
    rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html/*$" /index.php? subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6&seourl=$6 last;
    
    
    пишем
    
    rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html/*$" /index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6&seourl=$6 last;
    
    

  7. Случайно, копая ДЛЕ, наткнулся на массив $metatags....
    Вы тогда называйте вещи своими именами)) Конфиг - это файл конфига, а $metatags это другое. Но вы правы, не знаю как это сделан ов DLE сейчас, но раньше мы в модулях писали так
    $metatags['title'] = 'Заголовок модуля';
    Зачем нам лишние пути определять, если это можно сделать в движке по умолчанию?
    так а что мешает писать так?
    dleAPI::connect_css('nameOfFile');

    API итак возьмёт этот файл из текущего шаблона

  8. После этого весь остальной вывод будет подавлен
    Удобно при выводе данных черех AJAX

    ~

    if ($config['allow_api'] == 'yes') {
    
        $modules = dleAPI::get_modules ();
    
        if (in_array ($do, $modules)) {
    
          require_once ($modules[$do]['handler']);
    
        }
    
    }
    да сделай проще, что-то вроде
    
    if ($config['allow_api'] == 'yes' && dleAPI::is_module($do)) {
    
        require_once (dleAPI::get_module($do));
    
    }
    
    
    ~
    dleAPI::set_meta('keywords', $keywords); dleAPI::set_meta('description', $keywords); Но так брать их не удобно - громоздко выходит... Это уже третье колесо на велик :) Проще из конфига, только в чем разница - не пойму, по-моему - никакой...
    И зкакого конфига? Как беря из одного конфига данные вы сделаете разную мета дату на страницах? ~
    А где должны быть CSS, то же что ли в папке "JS"? - если да, то разделите, пожалуйста их на 2 папки: "CSS" и "JS", а лучше дайте возможность самому выбрать путь после скина, - я не люблю всё по папкам раскидывать и просить пользователей мода всё по десяткам папок юлозить... проще так: залил мод и работаешь - всем удобство будет, к чему лишний конструктор фигачить?
    Я вообще сторонник того, что яваскрипт файл, который реализует функицональность класть не в шаблон, а в другое место и оно должно быть одно.
    Дополнение. Вот так было бы здорово, а главное - понятно и наглядно (для меня, для других - не знаю): dleAPI::connect_css('{skin}/css/file.css');
    А что такое {skin}? По моему итак понятно что означает
    dleAPI::connect_css('file.css');
    по идее вы можете грузить и таким образом
    dleAPI::connect_css('http://site.ru/templates/templateName/css/file.css');

    ~

    IT-Security, давай лучше ролики снимать)))

×
×
  • Создать...