Форум -> Обо всём... -> Помогите вставить скрипт php в текст модуль pages |
Помогите вставить скрипт php в текст модуль pages |
---|
Daigo | Дата: 20.04.2009, в 11:32 | Сообщение №1 |
НовичокПользователь №: 486 Сообщений: 18
| Прошу помощи:
Есть ява скрипт, который отображает дополнительную информацию, при наведении на какой-либо элемент в страничке модуля pages (картинки, ссылки).
Сама эта дополнительная информация хранится в таблице БД.
Явой ее оттуда не вытащить ((
Можно ли както втавить php скрипт в саму страничку, который будет вытаскивать и подготавливать данные для ява скрипта?
Если так реализовать не возможно, то можно ли как-то вставить кусок текста из другого, заранее подготовленного файла в страничку pages? |
|
|
|
Serg_pnz | Дата: 20.04.2009, в 12:05 | Сообщение №2 |
АдминистраторПользователь №: 1 Сообщений: 2242
| Daigo, в функции просмотра статьи делаешь дополнительный запрос в зависимости от id статьи, т.е. выдергиваешь доп.инфу из базы, а js прописываешь на уровне шаблона или прям в той же функции просмотра статьи (зависит от самой js-ки и функции на неё возложенной) | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
|
|
Daigo | Дата: 20.04.2009, в 15:00 | Сообщение №3 |
НовичокПользователь №: 486 Сообщений: 18
| Цитата | в функции просмотра статьи делаешь дополнительный запрос в зависимости от id статьи |
Такой вариант не подходит, т.к. для добавления или изменения статьи предется каждый раз лезть в код модуля pages, кол-во элементов на страничке, для которых нужно вытаскивать информацию, тоже может быть совершенно разным (от 10 до 200). Подтягивать всю базу при каждом обращении к pages - тоже нет возможности, т.к. табличка довольно большая (больше 5000 записей).
По сути проблема сводится к следующему:
Нужно вставить вот такой вот код в текст странички
Код | 1
| arr[0] = info_1;
arr[1] = info_2;
.....
arr[id] = info_id,
где arr - массив из ява скрипта, info - информация из базы |
Вот эти номера 1,2... id в каждой статье свои.
Как это реализовать - ума не приложу |
|
|
Serg_pnz | Дата: 20.04.2009, в 15:25 | Сообщение №4 |
АдминистраторПользователь №: 1 Сообщений: 2242
| В код надо залезть 1 раз...
Аякс что ли прикручиваешь с всплывающими подсказками и увеличением картинки при наведении?
Ну как вариант можно массив хранить в файле и просто делать реквери в зависимости от id статьи. | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
|
|
Daigo | Дата: 20.04.2009, в 15:52 | Сообщение №5 |
НовичокПользователь №: 486 Сообщений: 18
| Цитата | Аякс что ли прикручиваешь с всплывающими подсказками и увеличением картинки при наведении? |
Да - всплывающие подсказки, но не аякс, все на яве )))
В общем то уже работает, только вот надоело руками прописывать элементы массива в каждой страничке, пытаюсь вот автоматизировать этот процесс.
Цитата | Ну как вариант можно массив хранить в файле и просто делать реквери в зависимости от id статьи. |
Я вот тоже к этому склоняюсь уже, массив в файл загоню, а как его потом в страничку из файла явой вытащить - не знаю |
|
|
Serg_pnz | Дата: 20.04.2009, в 16:56 | Сообщение №6 |
АдминистраторПользователь №: 1 Сообщений: 2242
| Собирай яву динамически.
Код | 1
| echo '<script>'.$arr[id][0].......'</script>'; |
Пример как я это делаю
Код | 1
| echo '<script>$(\'addf001\').reset(); $(\'timerForm\').reset(); kwicks1 = $$(\'#timspis div\'); str = kwicks1[0].get(\'id\'); idd1 = str.slice(7); idd2 = idd1 - 1; idd = \'timspis\'+idd2;'
.'var myDiv = new Element ( \'div\' , { \'id\' : idd}) ;'
.'myDiv.injectTop($(\'timspis\'));'
.'$(idd).set(\'html\', \'<br><b>KKKKKKKKKKKKKКомментарий</b>: <span id=\'+idd+\'-kament>'.$pablic['kament'].'</span><br><b>Дата создания</b>: '.(date("j-m-Y G:i:s", $pablic['add_date'])).' <b>Дата окончания</b>: '.(date("j-m-Y G:i:s", $pablic['ch_date'])).' <b>Осталось</b>: <span id=\'+idd+\'-ost>'.($pablic['ch_date'] - time()).'</span> секунд или <span id=\'+idd+\'-hour>__</span> часов <span id=\'+idd+\'-minute>__</span> минут <span id=\'+idd+\'-second>__</span> секунд flagAlert <span id=\'+idd+\'-flagA>'.$pablic['call02'].'</span> flagSound <span id=\'+idd+\'-flagS>'.$pablic['call01'].'</span> <span onclick="povt(''.$lastid.':\'+idd2+\'')">Повторить</span> <span id=\'+idd+\'-del onclick="deltime(''.$lastid.':\'+idd2+\'')">Удалить</span><hr><br>\'); $(\'ustan001\').set(\'html\', \'\'); $(\'t_ust\').set(\'style\', \'display: none;\'); var mySlide = new Fx.Slide(\'test\'); mySlide.slideOut();</script>'; |
$pablic - массив, тянущийся из базы
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно Serg_pnz 20.04.2009 г. в 16:58:44 | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
|
|
Daigo | Дата: 20.04.2009, в 23:07 | Сообщение №7 |
НовичокПользователь №: 486 Сообщений: 18
| Цитата | Собирай яву динамически. |
Дык, это само собой.
Только собирать этот кусок скрипта нужно именно в той страничке, в которой должна отображаться дополнительная информация. Для этого и начал эту тему. "Как вставить php в страничку".
_________________
P.S. При попытке цитировать код, сообщение форума не сохраняется и выкидывает на главную страницу сайта.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно Daigo 20.04.2009 г. в 23:11:11 |
|
|
Serg_pnz | Дата: 21.04.2009, в 08:09 | Сообщение №8 |
АдминистраторПользователь №: 1 Сообщений: 2242
| Daigo, заключай код в теги [code][/code] и не будет никуда выкидывать.
По сабжу: кто-то из нас в лыжах. а кто-то на асфальте стоит))) Я лично не вижу проблемы, почему нельзя набрать код исходя из id статьи. | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
|
|
Daigo | Дата: 21.04.2009, в 10:10 | Сообщение №9 |
НовичокПользователь №: 486 Сообщений: 18
| Наверно я на асфальте и в лыжах )))
Напишу поподробнее что к чему...
1) Есть статья в pages в ней
Сначала инициализируется массив дополнительной инф-ии
Код | 1
| arr[0] = info_1;
arr[1] = info_2;
.....
arr[id] = info_id, |
В ней же эта информация отображается, т.е. ниже по тексту стоит что-то типа Код | 1
| <a href=# onmouseover="Showinfo(arr[idN]);">тра-ля-ля</a> |
, т.е. при наведении на ссылку отображается инф-ия из подготовленного массива. (Названия функций и переменных схематичные). Посмотреть как выглядит можно на skclan.ru, внизу главной странички "Новинки предметов".
Контент в pages добавляется из админ панели, вместе с инициализацией массива arr и проставлением Showinfo в нужных местах. Но для этого нужно как-то вытащить информацию из БД для инициализации этого массива. Вот в этом у меня загвоздка, может я мысли не уловил, как это сделать... |
|
|
Serg_pnz | Дата: 21.04.2009, в 11:50 | Сообщение №10 |
АдминистраторПользователь №: 1 Сообщений: 2242
| Под фф не работает...
Итак локализуем проблему: ты хочешь в пагесах что-то писать, скажем легенды, причем упоминая вещи. Например получится так
Цитата | И пошел рыцарь с мечем на дракона, а дракон не испугался меча и дал рыцарю сначала по шапке, а потом еще и в бубен. |
При чем ты не знаешь какие вещи у тебя будут в этой легенде, не пихать же всё в массив... Но когда статья набирается, то можно выяснить id описания вещи.
Если моё предположение верно, то приходим мы к новому тегу "вещь", соответственно и новой кнопочки для удобства набора статьи.
Когда ты набираешь статью, то получится так: Цитата | И пошел рыцарь с [vesch=1232]мечем[/vesch] на дракона, а дракон не испугался [vesch=1232]меча[/vesch] и дал рыцарю сначала по [vesch=777]шапке[/vesch], а потом еще и в [vesch=68]бубен[/vesch]. |
Вывод на сайте (пользователю):
Перед публикацией статьи на сайте
1. скрипт пробегает сначала по тексту статьи и собирает все номера этих тегов
2. делает запрос в базу, собирая данные о вещах (это можно сделать и одним запросом!)
3. пробегает еще раз по статье, исправляя теги на найденную информацию
4. выводит на монитор
ЗЫ: вот такая грустная легенда... | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
|
|
Daigo | Дата: 21.04.2009, в 15:14 | Сообщение №11 |
НовичокПользователь №: 486 Сообщений: 18
| Цитата | Если моё предположение верно |
Верно на 100%.
Цитата | ЗЫ: вот такая грустная легенда... |
Почему же грустная? Для меня вполне радостная, я даже не подумал о том что можно инициализировать массив при сохранении статьи! Спасибо за подсказку |
|
|
|
Вы не можете ответить в тему анонимно, пожалуйста, войдите или зарегистрируйтесь!
|