PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи

Страниц (21): « 1 2 3 4 [5] 6 7 8 9 ... » В конец

> Найдено сообщений: 310
dropoff Отправлено: 17 Июня, 2013 - 15:53:20 • Тема: Перегнать константы в массив. • Форум: Напишите за меня, пожалуйста

Ответов: 20
Просмотров: 241
dubasua. У меня при открытии определенной страницы инклудится файл это страницы с константами. Там собраны настройки для нее. Это в любом случае не удобно и дописывать до этот системы еще какую-то считаю не правильным. Почему и хочу просто в массив все забить.

EuGen, смысл не в том, чтобы частично решить это все, а в том, чтобы полностью изменить эту систему с кучи файлов и констант на один массив.
Можно конечно массив получить через get_defined_constants(), но блин там не разобрать будет, так как константы юзерские все равно в одной куче.

DelphinPRO, по сути да, "рефакторю")). Вручную конечно такой объем обрабатывать не вариант))) Там сотни строк в десятках файлов...

Попробуйте сейчас что-то сделать с get_defined_constants().
Сейчас в голову пришло - прочитать директорию с файлами, пройтись по массиву с файлами и получить на каждый массив с get_defined_constants и все собрать в массив.
может что и получится))
(Добавление)
DelphinPRO пишет:
ПС бэкап не забудьте сделать

Ага)) Спасибо!
dropoff Отправлено: 17 Июня, 2013 - 15:23:55 • Тема: Перегнать константы в массив. • Форум: Напишите за меня, пожалуйста

Ответов: 20
Просмотров: 241
не понял на счет переменных. зачем это нужно?

в массив для того, что с ним удобно работать и переопределять когда нужно по ключам значения. + добавлять\удалять из массива что нужно...
(Добавление)
EuGen, суть в том, чтобы убрать вообще кучи файлов и кучи констант и работать с одним массивом.
Т.е. вместо кучи файлов с константами создать один с массивом.
dropoff Отправлено: 17 Июня, 2013 - 14:59:08 • Тема: Перегнать константы в массив. • Форум: Напишите за меня, пожалуйста

Ответов: 20
Просмотров: 241
Всем привет.

Создал тему тут, так как сам что-то не могу сделать.

В общем есть много файлов, которые содержат кучи констант. В некоторых файлах названия констант повторяются. Эти файлы подключаются отдельно, по этому конфликтов нет.

Мне нужно все константы перегнать в массив по такому примеру

Например файлы
news.php

Содержание
PHP:
скопировать код в буфер обмена
  1. define('HEAD', 'Новости');
  2. define('HEAD_TITLE', 'Новости сайта');


Файл
articles.php

Содержание
PHP:
скопировать код в буфер обмена
  1. define('HEAD', 'Статьи');
  2. define('HEAD_TITLE', 'Статьи сайта');


В результате нужно получить по каждому файлу свой массив такого вида
PHP:
скопировать код в буфер обмена
  1. $result = array(
  2.         'news_head' => 'Новости',
  3.         'news_head_title' => 'Новости сайта',
  4.  
  5.         'articles_head' => 'Статьи',
  6.         'articles_head_title' => 'Статьи сайта',
  7. );


Т.е. название файла является частью ключа, чтобы избежать повторений.
Но. В константах не только текст. Но много и html тегов и всяких кавычек и т.д...!

Буду благодарен за помощь и советы!
dropoff Отправлено: 24 Мая, 2013 - 09:22:18 • Тема: Показать-Скрыть пункты меню • Форум: JavaScript & VBScript

Ответов: 0
Просмотров: 1084
Всем привет!

Есть много меню, пункты которых в простых дивах. У некоторых div добавляется класс "show", а у остальных "hide item-hide".

Под каждым меню нужно выводить ссылку "Показать", если есть хоть один "hide item-hide". Т.е. если есть скрытые пункты, то нужно выводить ссылку на "Показать". При клике нужно убирать "item-hide" и выводить скрытые пункты. Ссылка при этом меняется на "Скрыть". При скрытие, нужно пункты у которых остался класс hide(мы убираем только item-hide) нужно прятать и добавлять item-hide.

Чтобы наглядно было

CODE (html):
скопировать код в буфер обмена
  1. <div id="menu-1">
  2.     {foreach $arr AS $a}
  3.         <div class="show">1111</div>
  4.         <div class="hide item-hide">2222</div>
  5.         <div class="show">3333</div>
  6.         <div class="hide item-hide">4444</div>
  7.         <div class="show">5555</div>
  8.     {/foreach}
  9.  
  10.     <a href="#" onclick="showMenu('1');" class="shows">Показать</a>
  11.     <a href="#" onclick="hideMenu('1');" class="hides">Скрыть</a>
  12. </div>


При этом нужно учесть то, что если нет ни одного hide, то не выводить вообще ссылки на Показать\Скрыть, так как они будут не нужны, ибо нечего показывать. Меню формирует smarty. Каждое меню имеет свой id, потому как этих меню не мало.

Что-то не могу нормально придумать как реализовать задуманное на jQuery. Точнее не могу понять как у каждого меню проверять через js есть ли hide и у нужных меню выводить ссылки.

Буду благодарен за помощь!
dropoff Отправлено: 21 Мая, 2013 - 17:27:00 • Тема: Выделение активного пункта меню и его родителей исходя из ссылки в строке браузера • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 3659
Ну так есть какой-то вариант реализовать задуманное?
Мне не важно как. Главное, чтобы работало.
С jQuery думаю проще будет сделать. Хотя для php было бы практичнее.
dropoff Отправлено: 14 Мая, 2013 - 22:13:21 • Тема: Не работает скрипт модального окна • Форум: JavaScript & VBScript

Ответов: 3
Просмотров: 1425
фенсибокс?
Или http://github[dot]com/kylefox/jquery-modal
Демо http://kylefox[dot]ca/jquery-modal/e[dot][dot][dot]mples/index[dot]html
dropoff Отправлено: 11 Мая, 2013 - 21:30:10 • Тема: Выделение активного пункта меню и его родителей исходя из ссылки в строке браузера • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 3659
))

Класс Tree
PHP:
скопировать код в буфер обмена
  1. class Tree
  2. {
  3.         var $_cache;
  4.  
  5.         //Добавление пункта
  6.         function add($id, $parent, $data)
  7.         {
  8.                 $this->_cache[$parent][] = array(
  9.                         'id' => $id,
  10.                         'data' => $data
  11.                 );
  12.         }
  13.         // Рекурсивно создаем дерево
  14.         function get($parent = 0)
  15.         {
  16.                 if (isset($this->_cache[$parent]))
  17.                 {
  18.                         $return = "<ul>";
  19.                         foreach ($this->_cache[$parent] as $i)
  20.                         {
  21.                                 $childrens = $this->get($i['id']);
  22.                                 $return .= '<li>';
  23.                                 $return .= $i['data'];
  24.                                 if ($childrens)
  25.                                 {
  26.                                         $return .= $childrens;
  27.                                 }
  28.                                 $return .= '</li>';
  29.                         }
  30.                         $return .= '</ul>';
  31.                         return $return;
  32.                 }
  33.                 else
  34.                         return false;
  35.         }
  36. }


Получаю и вывожу так
PHP:
скопировать код в буфер обмена
  1. include_once 'includes/tree.php';
  2. $tree = new Tree;
  3.  
  4. $arr = array();
  5. $sql = mysql_query("SELECT * FROM menu WHERE group_id = '".(int)$group."' ORDER BY parent_id, position");
  6. while ($row = mysql_fetch_array($sql))
  7.         $arr[] = $row;
  8.  
  9. foreach ($arr as $row)
  10. {
  11.         $data = '<a href="'.$row['url'].'">';
  12.         $data .= $row['title'];
  13.         $data .= '</a>';
  14.  
  15.         $tree->add($row['id'], $row['parent_id'], $data);
  16. }
  17. echo $tree->get(0);


УРЛ ссылки полный, без домена, лежит в $row['url']

Структура БД: id|parent_id|group|title|url|position. Ничего не обычного нет.
dropoff Отправлено: 11 Мая, 2013 - 14:48:41 • Тема: Выделение активного пункта меню и его родителей исходя из ссылки в строке браузера • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 3659
у меня все на jQuery написано, по этому не чистый js, а через jquery.
Мне не ajax нужен и он не используется в навигации совсем, а просто js скриптом такое сделать. Т.е. после открытия определенной страницы открывать разворачивать первый пункт меню и добавлять active к нужным li.

На php я знаю что можно сделать, я написал, что у меня не получается это сделать))
Могу и php выложить, но наверное в этой теме нельзя объеденять вопросы php\js
dropoff Отправлено: 11 Мая, 2013 - 14:11:49 • Тема: Выделение активного пункта меню и его родителей исходя из ссылки в строке браузера • Форум: JavaScript & VBScript

Ответов: 5
Просмотров: 3659
Всем привет.

Возник такой вопрос, который никак не могу понять как сделать.

Есть меню типа
CODE (html):
скопировать код в буфер обмена
  1. <ul>
  2.         <li>
  3.                 <a href="page.php">Меню 1</a>
  4.                 <ul>
  5.                         <li><a href="page.php?action=add_news">Меню 2</a></li>
  6.                         <li>
  7.                                 <a href="page.php?action=edit_news">Меню 3</a>
  8.                                 <ul>
  9.                                         <li><a href="page.php?action=menu">Меню 5</a></li>
  10.                                         <li><a href="anypage.php">Меню 6</a></li>
  11.                                 </ul>
  12.                         </li>
  13.                 </ul>
  14.         </li>
  15.         <li><a href="page.php?c_id=5">Меню 4</a></li>
  16. </ul>


У всех li, если открыта страница, например "Меню 5", добавляется просто класс active

Т.е. получается так
CODE (html):
скопировать код в буфер обмена
  1. <ul>
  2.         <li class="active">
  3.                 <a href="page.php">Меню 1</a>
  4.                 <ul>
  5.                         <li><a href="page.php?action=add_news">Меню 2</a></li>
  6.                         <li class="active">
  7.                                 <a href="page.php?action=edit_news">Меню 3</a>
  8.                                 <ul>
  9.                                         <li class="active"><a href="page.php?action=menu">Меню 5</a></li>
  10.                                         <li><a href="anypage.php">Меню 6</a></li>
  11.                                 </ul>
  12.                         </li>
  13.                 </ul>
  14.         </li>
  15.         <li><a href="page.php?c_id=5">Меню 4</a></li>
  16. </ul>


Т.е. добавляем active первому li, li у которого подменю и li уже конечный.

Никак не могу понять, как сделать на jQuery, что определяло по строке браузера какой пункт подменю открыт и всем парентам li добавляло active.
видел такое в каком-то tree меню, но не помню в каком.

На php не получается просто такое сделать. Там генерируется рекурсивно дерево. И как проверить какой пункт меню является чьим потомком не получается сделать.

Может кто-то уже делал подобное? Буду благодарен за помощь.
dropoff Отправлено: 30 Марта, 2013 - 20:48:08 • Тема: Проблема Bootstrap Modal(отдельный плагин) + jQuery Form Plugin • Форум: JavaScript & VBScript

Ответов: 11
Просмотров: 5006
Ничего не выходит куда бы не вставлял preventDefault. пробовал return false; - просто не выполняет запрос и все.

В исходнике примеры есть и функция doAjaxSubmit, но мне ничего не дало, не понял что за что отвечает.

В примерах только у ajaxSubmit
CODE (javascript):
скопировать код в буфер обмена
  1.     $(document).ready(function() {
  2.         $('#myForm').on('submit', function(e) {
  3.             e.preventDefault(); // <-- important
  4.             $(this).ajaxSubmit({
  5.                 target: '#output'
  6.             });
  7.         });
  8.     });
  9.  
  10.     Use ajaxForm when you want the plugin to manage all the event binding
  11.     for you.  For example,
  12.  
  13.     $(document).ready(function() {
  14.         $('#myForm').ajaxForm({
  15.             target: '#output'
  16.         });
  17.     });

Я сделал уведомление, но хотелось по человечески в окне сделать сообщение и скрыть в момент который мне нужен.
dropoff Отправлено: 27 Марта, 2013 - 17:57:21 • Тема: Проблема Bootstrap Modal(отдельный плагин) + jQuery Form Plugin • Форум: JavaScript & VBScript

Ответов: 11
Просмотров: 5006
Заработало, спасибо!

Хм. Теперь проблема с preventDefault
Если его ставлю, что ajaxForm не срабатывает.
Хотел сделать вывод сообщений еще, а не выходит(
dropoff Отправлено: 27 Марта, 2013 - 13:21:59 • Тема: Проблема Bootstrap Modal(отдельный плагин) + jQuery Form Plugin • Форум: JavaScript & VBScript

Ответов: 11
Просмотров: 5006
CODE (htmlphp):
скопировать код в буфер обмена
  1. [context: document, selector: "#myForm", constructor: function, init: function, selector: ""]
  2. context: document
  3. selector: "#myForm"
  4. __proto__: Object[0]


Оно?

Я id формы получаю var my_form = $(this).get(0).form.id;
в событии $modal.on('click', '.update'...
может я чет не так вообще делаю?
Сейчас попробую с нуля все переделать еще раз.
(Добавление)
Кажись ошибка вот в чем.

Работает.
CODE (javascript):
скопировать код в буфер обмена
  1. $modal.on('click', '.update', function()
  2. {
  3.      $('#myForm').ajaxForm(function() {
  4.           alert("Allllllllert!");
  5.      });
  6. });


не работает
CODE (javascript):
скопировать код в буфер обмена
  1. $modal.on('click', '.update', function()
  2. {
  3.      var my_form = $(this).get(0).form.id;
  4.      my_form.ajaxForm(function() {
  5.           alert("Allllllllert!");
  6.      });
  7. });


Хотя, если вместо ajaxForm использовать ajax, то все прокатывает.
dropoff Отправлено: 27 Марта, 2013 - 13:00:16 • Тема: Проблема Bootstrap Modal(отдельный плагин) + jQuery Form Plugin • Форум: JavaScript & VBScript

Ответов: 11
Просмотров: 5006
Сделал http://s019[dot]radikal[dot]ru/i619/1303[dot][dot][dot]3bbb4231f5c5[dot]png
Дополнительно нажал Обновить, чтобы ошибку видно было.
При вызове просто модального окна ошибок, естественно, нет.
dropoff Отправлено: 27 Марта, 2013 - 12:24:20 • Тема: Проблема Bootstrap Modal(отдельный плагин) + jQuery Form Plugin • Форум: JavaScript & VBScript

Ответов: 11
Просмотров: 5006
Все пути абсолютные.
Пробовал по разному менять местами подключение скриптов.

Если в самом файле modal_ajax_test.html делаю
CODE (javascript):
скопировать код в буфер обмена
  1. $('#myForm').ajaxForm(function() {
  2.      alert("Allllllllert!");
  3. });

То скрипт работает. Но мне Не нужно это в html шаблоне.
dropoff Отправлено: 27 Марта, 2013 - 11:59:14 • Тема: Проблема Bootstrap Modal(отдельный плагин) + jQuery Form Plugin • Форум: JavaScript & VBScript

Ответов: 11
Просмотров: 5006
Всем привет.

Проблема возникла между двумя этими скриптами.
Первый http://jquery[dot]malsup[dot]com/form/
Второй https://github[dot]com/jschr/bootstrap-modal
Точнее, наверное в моей криворукости, хотя не уверен на все 100)))

Суть в следующем.
Я использую модальное окно с AJAX.

CODE (javascript):
скопировать код в буфер обмена
  1. $(document).ready(function () {
  2.  
  3. // это див который уже вставлен в html.
  4. var $modal = $('#ajax-modal');
  5.  
  6. // при клике на ссыль открывается модальное окно и грузится modal_ajax_test.html
  7. $('.ajax .demo').on('click', function(){
  8.       $('body').modalmanager('loading');
  9.  
  10.       $modal.load('modal_ajax_test.html', '', function(){
  11.       $modal.modal();
  12. });
  13.  
  14. // Если в modal_ajax_test.html нажали кнопку с классом update, то срабатывает этот скрипт.
  15. $modal.on('click', '.update', function(){
  16.       $modal.modal('loading');
  17.  
  18.       // Вот тут я использую плагин jQuery Form
  19.       $('#myForm').ajaxForm(function() {
  20.             alert("Allllllllert!");
  21.       });
  22. });
  23.  
  24. });

И мне выдает ошибку
Цитата:
Object myForm has no method 'ajaxForm'


Оба плагина работают корректно. Не работает та часть, где вызываю ajaxForm. Пробовал в самом файле modal_ajax_test.html подклчюать плагин jQuery Form, но результат тот же.

Как ту быть?

Буду благодарен за помощь.

P.S. Нужно мне это для того, чтобы загружать файлы с формой.
Форма отправляется через serialize(), если ajax. При этом ajax работает, а вот ajaxForm нет.

Страниц (21): « 1 2 3 4 [5] 6 7 8 9 ... » В конец
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB