riptup 1 Опубликовано: 11 августа 2012 Рассказать Опубликовано: 11 августа 2012 (изменено) Здравствуйте, возникла такая идея, поместить скрипт <script type="text/javascript"> в отдельный файлик... Любые скрипты переносить получается, а с этым что-то не так... вот собственно и скрипт. <script type="text/javascript"> <!-- var dle_root = '{$config['http_home_url']}'; var dle_admin = '{$config['admin_path']}'; var dle_login_hash = '{$dle_login_hash}'; var dle_group = {$member_id['user_group']}; var dle_skin = '{$config['skin']}'; var dle_wysiwyg = '{$config['allow_comments_wysiwyg']}'; var quick_wysiwyg = '{$config['allow_quick_wysiwyg']}'; var dle_act_lang = ["{$lang['p_yes']}", "{$lang['p_no']}", "{$lang['p_enter']}", "{$lang['p_cancel']}", "{$lang['p_save']}"]; var menu_short = '{$lang['menu_short']}'; var menu_full = '{$lang['menu_full']}'; var menu_profile = '{$lang['menu_profile']}'; var menu_send = '{$lang['menu_send']}'; var menu_uedit = '{$lang['menu_uedit']}'; var dle_info = '{$lang['p_info']}'; var dle_confirm = '{$lang['p_confirm']}'; var dle_prompt = '{$lang['p_prompt']}'; var dle_req_field = '{$lang['comm_req_f']}'; var dle_del_agree = '{$lang['news_delcom']}'; var dle_complaint = '{$lang['add_to_complaint']}'; var dle_big_text = '{$lang['big_text']}'; var dle_orfo_title = '{$lang['orfo_title']}'; var dle_p_send = '{$lang['p_send']}'; var dle_p_send_ok = '{$lang['p_send_ok']}'; var dle_save_ok = '{$lang['n_save_ok']}'; var dle_del_news = '{$lang['news_delnews']}';\n HTML; if ($user_group[$member_id['user_group']]['allow_all_edit']) { $ajax .= <<<HTML var dle_notice = '{$lang['btn_notice']}'; var dle_p_text = '{$lang['p_text']}'; var dle_del_msg = '{$lang['p_message']}'; var allow_dle_delete_news = true;\n HTML; } else { $ajax .= <<<HTML var allow_dle_delete_news = false;\n HTML; } if ($config['fast_search'] AND $user_group[$member_id['user_group']]['allow_search']) { $ajax .= <<<HTML var dle_search_delay = false; var dle_search_value = ''; $(function(){ FastSearch(); }); HTML; } if (strpos ( $tpl->result['content'], "<pre><code>" ) !== false) { $js_array[] = "engine/classes/highlight/highlight.code.js"; $ajax .= <<<HTML $(function(){ $('pre code').each(function(i, e) {hljs.highlightBlock(e, null)}); }); HTML; } $ajax .= <<<HTML //--> </script> Сайт - lanifilm.ru. Заранее спасибо за советы! Изменено 11 августа 2012 пользователем riptup Цитата Ссылка на сообщение Поделиться на других сайтах
alex32 942 Опубликовано: 11 августа 2012 Рассказать Опубликовано: 11 августа 2012 а в чем конкретно трабл, опишите? includ вообще то никто не отменял Цитата Ссылка на сообщение Поделиться на других сайтах
riptup 1 Опубликовано: 11 августа 2012 Рассказать Опубликовано: 11 августа 2012 (изменено) Автор а в чем конкретно трабл, опишите? includ вообще то никто не отменял Ну я просто немного порядок хочу навести. В этом деле я не спец особо, так что прошу помочь в этом деле.) На счет includ не знаю, так как не очень знаком с ним... если есть варианты, то подскажи пожалуйста. И если можно поподробней. Изменено 11 августа 2012 пользователем riptup Цитата Ссылка на сообщение Поделиться на других сайтах
alex32 942 Опубликовано: 11 августа 2012 Рассказать Опубликовано: 11 августа 2012 (изменено) На счет includ не знаю, так как не очень знаком с ним... если есть варианты, то подскажи пожалуйста. И если можно поподробней.ну я так понимаю, что просто стоит сначала внимательно почитать документацию к движку? там вообще то все написанно.в разделе "Общая информация" например? или мы читаем когда все не работает? или вообще не читаем? Ну если соовсем тяжко читать мануал я вам расшифрую: Также вы можете подключать один шаблон в другой, используя тег {include file="my_block.tpl"} данный тег подключает указанный файл my_block.tpl в шаблон. Тег призван облегчить структуру шаблона, если используется сложная верстка со множеством тегов. Данный тег действует во всех шаблонных файлах .tpl Подключаемый файл должен находится в той же папке что и другие файлы шаблона. Теги в подключаемом шаблоне должны быть такие же, какие допустимы в шаблоне где подключается файл, например если файл my_block.tpl подключается в шаблоне main.tpl, то и теги в этом файлы будут работать только те которые возможны в main.tpl а теперь включаем тыковку и думаем ей, как же нам это сделать? Изменено 11 августа 2012 пользователем alex32 Цитата Ссылка на сообщение Поделиться на других сайтах
riptup 1 Опубликовано: 11 августа 2012 Рассказать Опубликовано: 11 августа 2012 (изменено) Автор Если чесно, не догоняю... вот как я делаю <script type="text/javascript" src="ПУТЬ/*****.js"></script> все фурычит, все довольны... но когда применяю для этого скрипта, не работает(. Почему везде работает, а в этом случае нет? Вот я этого не могу понять... А зачем инклуд шаблона делать...!? Мне вообще то надо убрать скрипт из середины шаба, всмысле когда загружаешь страничку и тебе в исходнике мусор... сам файлик который хранит этот мусор (скрипт), лежит не в шаблоне движка, а в корне движка (index.php). если я убераю скрипт в index.php, то не все будет нормально функционировать... Извиняюсь если что не так, но я если честно не понял как вынести скрипт в отдельный файлик, ибо с первым способом не работает о котором прописал высше. Ну все равно спасибо за советы! С меня будет вод.._НЕ не, не то... точ, вспомнил, плюсик Изменено 11 августа 2012 пользователем riptup Цитата Ссылка на сообщение Поделиться на других сайтах
Sarvan 35 Опубликовано: 11 августа 2012 Рассказать Опубликовано: 11 августа 2012 но когда применяю для этого скрипта, не работает(. Почему везде работает, а в этом случае нет? Потому, что тут не чистый JavaScript, а вперемешку в PHP. И инициализация переменных происходит в зависимости от условия. Всё, что вы можете сделать, если очень хочется это аккуратно вырезать этот кусок кода. <?php $ajax .= <<<HTML <div id="loading-layer" style="display:none"><div id="loading-layer-text">{$lang['ajax_info']}</div></div>{$pm_alert} <script type="text/javascript"> <!-- var dle_root = '{$config['http_home_url']}'; var dle_admin = '{$config['admin_path']}'; var dle_login_hash = '{$dle_login_hash}'; var dle_group = {$member_id['user_group']}; var dle_skin = '{$config['skin']}'; var dle_wysiwyg = '{$config['allow_comments_wysiwyg']}'; var quick_wysiwyg = '{$config['allow_quick_wysiwyg']}'; var dle_act_lang = ["{$lang['p_yes']}", "{$lang['p_no']}", "{$lang['p_enter']}", "{$lang['p_cancel']}", "{$lang['p_save']}"]; var menu_short = '{$lang['menu_short']}'; var menu_full = '{$lang['menu_full']}'; var menu_profile = '{$lang['menu_profile']}'; var menu_send = '{$lang['menu_send']}'; var menu_uedit = '{$lang['menu_uedit']}'; var dle_info = '{$lang['p_info']}'; var dle_confirm = '{$lang['p_confirm']}'; var dle_prompt = '{$lang['p_prompt']}'; var dle_req_field = '{$lang['comm_req_f']}'; var dle_del_agree = '{$lang['news_delcom']}'; var dle_complaint = '{$lang['add_to_complaint']}'; var dle_big_text = '{$lang['big_text']}'; var dle_orfo_title = '{$lang['orfo_title']}'; var dle_p_send = '{$lang['p_send']}'; var dle_p_send_ok = '{$lang['p_send_ok']}'; var dle_save_ok = '{$lang['n_save_ok']}'; var dle_del_news = '{$lang['news_delnews']}';\n HTML; if ($user_group[$member_id['user_group']]['allow_all_edit']) { $ajax .= <<<HTML var dle_notice = '{$lang['btn_notice']}'; var dle_p_text = '{$lang['p_text']}'; var dle_del_msg = '{$lang['p_message']}'; var allow_dle_delete_news = true;\n HTML; } else { $ajax .= <<<HTML var allow_dle_delete_news = false;\n HTML; } if ($config['fast_search'] AND $user_group[$member_id['user_group']]['allow_search']) { $ajax .= <<<HTML var dle_search_delay = false; var dle_search_value = ''; $(function(){ FastSearch(); }); HTML; } if (strpos ( $tpl->result['content'], "<pre><code>" ) !== false) { $js_array[] = "engine/classes/highlight/highlight.code.js"; $ajax .= <<<HTML $(function(){ $('pre code').each(function(i, e) {hljs.highlightBlock(e, null)}); }); HTML; } $ajax .= <<<HTML //--> </script> HTML; ?> Сохранить его в файл, обязательно с расширением PHP. И за место вырезанного кода, подключить получившейся файл include 'путь_до_файла/имя_файла.php'; 1 Цитата Ссылка на сообщение Поделиться на других сайтах
a1ex 60 Опубликовано: 12 августа 2012 Рассказать Опубликовано: 12 августа 2012 далать такое лучше не стоит. JS файл отдельный закэшируется. А это не есть гуд, для этого скрипта Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 081 Опубликовано: 12 августа 2012 Рассказать Опубликовано: 12 августа 2012 Здравствуйте, возникла такая идея, поместить скрипт в отдельный файлик... Не трогайте и лезьте туда. Он не просто так сделан и помещен туда, где он есть. Это не статический код, а динамический и для каждого посетителя сайта он разный. Он не может быть в отдельном файле и быть одинаковым для всех. 1 Цитата Ссылка на сообщение Поделиться на других сайтах
riptup 1 Опубликовано: 12 августа 2012 Рассказать Опубликовано: 12 августа 2012 (изменено) Автор Админы - большое Вам спасибо за ответ! Кажется я понял почему не стоит этого делать. Если этот скрипт переместить в файлик, то он не будет меняться, а значит не будет нормально работать, функционировать, так как он динамический, и должен находится вне файла. Sarvan - тебе тоже спасибо! В будущем пригодится. буду знать как javascript в перемешку с php можно вынести в отдельный файлик. Всем спасибо за ответы! Изменено 12 августа 2012 пользователем riptup Цитата Ссылка на сообщение Поделиться на других сайтах
Sarvan 35 Опубликовано: 12 августа 2012 Рассказать Опубликовано: 12 августа 2012 далать такое лучше не стоит. JS файл отдельный закэшируется. А это не есть гуд, для этого скрипта Что за кэшируется? Он что от этого перестанет быть динамическим? Или начнёт работать как-то по другому? Конечно сама идея что-то вырезать в отдельный файл, бредова. Но работа от этого в данном случае не изменится. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 081 Опубликовано: 12 августа 2012 Рассказать Опубликовано: 12 августа 2012 Что за кэшируется? Он что от этого перестанет быть динамическим? Или начнёт работать как-то по другому? Конечно сама идея что-то вырезать в отдельный файл, бредова. Но работа от этого в данном случае не изменится. Суть вопроса автора была темы в том что, он хотел перенести JS код, который встроен в код страницы, в отдельный файл, а не PHP код, а данный JS код является динамическим, и генерируется PHP кодом. И JS код не может быть в отдельном файле, потому как станет статическим, а должен быть динамическим. Автору темы не нужно было переносить PHP в отдельный файл, ему нужно было перенести только JS, что невозможно. Цитата Ссылка на сообщение Поделиться на других сайтах
riptup 1 Опубликовано: 12 августа 2012 Рассказать Опубликовано: 12 августа 2012 (изменено) Автор Я так понял по идеи должно работать в случае если переносить js вместе с пхп в пхп файл... интересно, завтра вечерком попробую Идея может быть конечно и бредовая, но все таки дополню - когда-то давно читал один пост, в нем автор данной статьи рассказывал что, текст страницы должен быть по выше к началу html документа, и все скрипты которые находятся выше текста, надо выносить в отделительные файлики. Собственно идея оттуда и появилась =). Изменено 12 августа 2012 пользователем riptup Цитата Ссылка на сообщение Поделиться на других сайтах
riptup 1 Опубликовано: 13 августа 2012 Рассказать Опубликовано: 13 августа 2012 Автор Админ, вопрос был как перенести. В таком случае вы знали что я не очень знаком с такой ситуацией... и могли подсказать что это не чистый скрипт, и как можно его вынести. А так вы мне не помогли, кроме как сказали выше - не лезьте тута, работать не будет. Да. Правильно сказали, но раз уж я щюзадаю такие вопросы, это значит что не все понимаю, и могли подсказать, а не точ уточ как робот. Цитата Ссылка на сообщение Поделиться на других сайтах
a1ex 60 Опубликовано: 13 августа 2012 Рассказать Опубликовано: 13 августа 2012 далать такое лучше не стоит. JS файл отдельный закэшируется. А это не есть гуд, для этого скрипта Что за кэшируется? Он что от этого перестанет быть динамическим? Или начнёт работать как-то по другому? Конечно сама идея что-то вырезать в отдельный файл, бредова. Но работа от этого в данном случае не изменится. 1. Этот скрипт можно сделать динамическим, вывод сделав на PHP в отдельный файл (+ ещё нагрузка) 2. Браузером такие файлы кэшатся, что это такое и зачем смотри гугл. 3. Подумай головой прежде чем писать, толковать что такое и зачем мне нет смысла. Цитата Ссылка на сообщение Поделиться на других сайтах
Sarvan 35 Опубликовано: 13 августа 2012 Рассказать Опубликовано: 13 августа 2012 1. Этот скрипт можно сделать динамическим, вывод сделав на PHP в отдельный файл (+ ещё нагрузка) 2. Браузером такие файлы кэшатся, что это такое и зачем смотри гугл. 3. Подумай головой прежде чем писать, толковать что такое и зачем мне нет смысла. 1. Этот скрипт можно сделать динамическим, вывод сделав на PHP в отдельный файл (+ ещё нагрузка) Какой скрипт сделать динамическим? Он и строится динамически, и переменные инициализируются в зависимости от тех или иных условий. Какая нагрузка? Он просто подключается. Или ты предлагаешь динамически на JavaScript переписать весь движок? 2. Браузером такие файлы кэшатся, что это такое и зачем смотри гугл. Посмотри лучше ты туда, или в курсах от Морковина Kohana от А до Я там не сказано об этом? 3. Подумай головой прежде чем писать, толковать что такое и зачем мне нет смысла. Да, что ты можешь написать из толковать то? Если в начале даже этой темы ты писал как и везде бредятину. Не различив даже, что это PHP, а не JavaScript. Хамив TC как и почти во всех темах. Не воспитанный ты дружок. А не воспитанный ты потому, что глупый. 2 Цитата Ссылка на сообщение Поделиться на других сайтах
a1ex 60 Опубликовано: 13 августа 2012 Рассказать Опубликовано: 13 августа 2012 main.tpl <script src="/indexjs.php"></script> indexjs.php ... echo <<<HTML var dle_root = '{$config['http_home_url']}'; var dle_admin = '{$config['admin_path']}'; var dle_login_hash = '{$dle_login_hash}'; var dle_group = {$member_id['user_group']}; var dle_skin = '{$config['skin']}'; var dle_wysiwyg = '{$config['allow_comments_wysiwyg']}'; var quick_wysiwyg = '{$config['allow_quick_wysiwyg']}'; var dle_act_lang = ["{$lang['p_yes']}", "{$lang['p_no']}", "{$lang['p_enter']}", "{$lang['p_cancel']}", "{$lang['p_save']}"]; var menu_short = '{$lang['menu_short']}'; var menu_full = '{$lang['menu_full']}'; var menu_profile = '{$lang['menu_profile']}'; var menu_send = '{$lang['menu_send']}'; var menu_uedit = '{$lang['menu_uedit']}'; var dle_info = '{$lang['p_info']}'; var dle_confirm = '{$lang['p_confirm']}'; var dle_prompt = '{$lang['p_prompt']}'; var dle_req_field = '{$lang['comm_req_f']}'; var dle_del_agree = '{$lang['news_delcom']}'; var dle_complaint = '{$lang['add_to_complaint']}'; var dle_big_text = '{$lang['big_text']}'; var dle_orfo_title = '{$lang['orfo_title']}'; var dle_p_send = '{$lang['p_send']}'; var dle_p_send_ok = '{$lang['p_send_ok']}'; var dle_save_ok = '{$lang['n_save_ok']}'; var dle_del_news = '{$lang['news_delnews']}';\n HTML; ... [/code] [b] Sarvan Разжевать что и зачем?[/b] Цитата Ссылка на сообщение Поделиться на других сайтах
Sarvan 35 Опубликовано: 13 августа 2012 Рассказать Опубликовано: 13 августа 2012 (изменено) Уфффф. Это я этот вариант предлагал? К чему этот пример? Что браузер JS кэширует, плюс один запрос или что? А доступен ли у тебя массив $config, $member_id, $lang Из темы удаляюсь. )) Изменено 13 августа 2012 пользователем Sarvan 1 Цитата Ссылка на сообщение Поделиться на других сайтах
riptup 1 Опубликовано: 13 августа 2012 Рассказать Опубликовано: 13 августа 2012 Автор Sarvdn, спасибо конечно за помочь. Сделал по твоему, но скрипт все равно в исходнике html впаривается... ) удаляю это - include 'путь_до_файла/имя_файла.php'; нет скрипта, снова подключаю, скрипт блестит А мне надо именно чтоб он не вылазил на ружу оотуда, и не блестел Админ, вопрос был как перенести. В таком случае вы знали что я не очень знаком с такой ситуацией... и могли подсказать что это не чистый скрипт, и как можно его вынести. А так вы мне не помогли, кроме как сказали выше - не лезьте тута, работать не будет. Да. Правильно сказали, но раз уж я щюзадаю такие вопросы, это значит что не все понимаю, и могли подсказать, а не точ уточ как робот. Админ, спасибо! Скрипт действительно даже если переместить в файлик php, все равно на ружу будет вылазить. Цитата Ссылка на сообщение Поделиться на других сайтах
riptup 1 Опубликовано: 13 августа 2012 Рассказать Опубликовано: 13 августа 2012 (изменено) Автор Sarvan - есть еще какая-то альтернатива? ))))) Изменено 13 августа 2012 пользователем riptup Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.