на select поле вешаешь onChange, который загружает в iframe файл, он подтягивает с удаленного данные и в ответ генерирует уже локальный JavaScript меняющий список в родителе
Не пробовали вернуть скрипт? Ответить с цитированием
Честно говоря нет. Сразу же возникла мысль, что если хочешь хорошо - сделай сам :)
Люблю такие топики, респекта бочку тебе -K- валяюсь под столом
Вот тогда еще в догонку. Функция CategorySelect() была разработана для создания списка категорий на страницах добавления/редактирования объявления, но для верности была беспорядочно натыкана везде гне не попадя... иногда по несколько раз... А каждый вызов грозит несколькими десятками запросов к базе. Но это, наверное, исходя из логики, что в шаблон нужно передать максимум, а верстальщик уж пусть сам решает нужен ли ему будет при просмотре объявления выпадающий список с категориями.
Кстати {html_options options=$cust_options selected=$customer_id} еще никто не отменял.
function CatSelectRow($parent,$level){
global $sort_cat;
$q = mysql_query("SELECT cat, name, count_items, total_items, parent FROM wzb_cat WHERE cat<>0 and parent=$parent $sort_cat"); $a = array(); while ($row = mysql_fetch_row($q)) { $row[5] = $level; $a[] = $row; $b = CatSelectRow($row[0],$level+1); for ($j=0; $j<count($b); $j++) { $a[] = $b[$j]; } } return $a;
Что еще отличает порядочного разработчика? Что нужно сделать что бы лишний раз не мозолить глаза надоедливыми варнингами об обращении к неустановленной переменной или несуществующему ключу массива? Нет не правильно - не инициализировать, не проверять на существование и боже упаси использовать эти бредовые is_set`ы и прочуюю муру, а взять и отключить показ ошибок! Зато при включении их можно будет наблюдать аж 2-3 экрана. :)
ЗЫ. Небольшой оффтоп.
Идею с паролем для каждого объявления откинул сразу и пока прикрутил авторизацию с базой пользователей основного сайта. Хотелось бы что бы можно было поставить независимо от основного сайта. Как вариант сделать авторизацию и получение пользовательской инфы через XMLRPC с дальнейшем сохранением в сессии?
Большую часть переписал, но на некоторый бред хотелось бы еще особо обратить внимание :)
Прикрепление изображений к объявлению.
Метод автора: для начала определим сколько нам необходимо прикреплять изображений к объявлению? Пусть будет 3! Не вопрос, в таблице с объявлениями добавляем 3 поля photo, photo1, photo2 где будем хранить имя изображения. Далее в странице добавления объявления 3 раза повторяем кусок кода для загрузки изображения, а на странице редактирования объявления - обрабатываем 3 действия для удаления картинки из объявления, разумеется 3 идентичными кусками кода! Теперь допустим я решил что мне мало 3 фотографий для объявления, хочу 15 - таблица обзаводится еще 12 полями, а в коде размножаем одинаковые куски по 12 раз? Почему же нельзя было создать отдельную табличку куда писать имя файла, ID объявления, а кол-во изображений для объявлений ограничить в конфиге?
Загрузка списка категорий.
Для получения категорий левого (основного меню), (см. аттачмент) основного списка (тот который с иконками в центре) и в центре ниже используются 3 разных метода - которые непременно рекурсивно лазеют в базу ☝ Т.е. для кол-ва рубрик на скриншоте получится около 40 SQL запросов!!! А если рубрик будет больше и вложенность увеличена - то это настоящее испытание для SQL сервера. В итоге был написан 1 запрос, из которого строится полное дерево категорий и передается в шаблон, а там уже в разных местах по разному разбирается одно и тоже дерево.
Ну и так еще некоторые перлы с которыми столкнулся :)
На главной странице выводятся последние объявления, при просмотре раздела - там так же выводятся последние объявления этого раздела. Логично было предположить что используется один метод для получения последних объявлений в зависимости от рубрики (на главной от корня). Но только не здесь! На каждой странице (даже при создании объявления) из базы выгребаются последние для главной, а при просмотре рубрик - выбираются еще и для рубрики. Вот так вот.
Пока все... Но это только пока - работа еще не закончена.
ЗЫ Для всех желающих или вложивших деньги в это чудо разработки по окончании работ будет выложен дистриб под GPL
restall: Он жрет много ресурсов. Трафика, места (если все модули подключать). На обычном хостинг его ОЧЕНЬ видно, он довольно резко бросается в глаза по статистике. А вот если для него отдельный сервер, либо отличный хостинг, то это лучший чат. Тк. оч много возможностей.
Да не жрет он много ни ресурсов ни трафика. Стоит уже больше 2-х лет, работает как часы. Только если покупать - то лучше здесь chatmod.net.ru - они демона переписали и затачивают под остальные браузеры кроме IE
А еще у некоторых может анимация не отображаться ( /ru/forum/98059 ) и будет бедный пользователь пытаться вбить первое число, и недоумевать - почему же неверно )))
Запости еще функцию clsDoXMLReq() и селект, содержимое которого надо изменить. Вечером напишу - с собой исходников нету.
Через скрытый iframe и XMLRPC можно попробовать.
на select поле вешаешь onChange, который загружает в iframe файл, он подтягивает с удаленного данные и в ответ генерирует уже локальный JavaScript меняющий список в родителе
Ответить с цитированием
Честно говоря нет. Сразу же возникла мысль, что если хочешь хорошо - сделай сам :)
Вот тогда еще в догонку. Функция CategorySelect() была разработана для создания списка категорий на страницах добавления/редактирования объявления, но для верности была беспорядочно натыкана везде гне не попадя... иногда по несколько раз... А каждый вызов грозит несколькими десятками запросов к базе. Но это, наверное, исходя из логики, что в шаблон нужно передать максимум, а верстальщик уж пусть сам решает нужен ли ему будет при просмотре объявления выпадающий список с категориями.
Кстати {html_options options=$cust_options selected=$customer_id} еще никто не отменял.
Что еще отличает порядочного разработчика? Что нужно сделать что бы лишний раз не мозолить глаза надоедливыми варнингами об обращении к неустановленной переменной или несуществующему ключу массива? Нет не правильно - не инициализировать, не проверять на существование и боже упаси использовать эти бредовые is_set`ы и прочуюю муру, а взять и отключить показ ошибок! Зато при включении их можно будет наблюдать аж 2-3 экрана. :)
ЗЫ. Небольшой оффтоп.
Идею с паролем для каждого объявления откинул сразу и пока прикрутил авторизацию с базой пользователей основного сайта. Хотелось бы что бы можно было поставить независимо от основного сайта. Как вариант сделать авторизацию и получение пользовательской инфы через XMLRPC с дальнейшем сохранением в сессии?
Большую часть переписал, но на некоторый бред хотелось бы еще особо обратить внимание :)
Прикрепление изображений к объявлению.
Метод автора: для начала определим сколько нам необходимо прикреплять изображений к объявлению? Пусть будет 3! Не вопрос, в таблице с объявлениями добавляем 3 поля photo, photo1, photo2 где будем хранить имя изображения. Далее в странице добавления объявления 3 раза повторяем кусок кода для загрузки изображения, а на странице редактирования объявления - обрабатываем 3 действия для удаления картинки из объявления, разумеется 3 идентичными кусками кода! Теперь допустим я решил что мне мало 3 фотографий для объявления, хочу 15 - таблица обзаводится еще 12 полями, а в коде размножаем одинаковые куски по 12 раз? Почему же нельзя было создать отдельную табличку куда писать имя файла, ID объявления, а кол-во изображений для объявлений ограничить в конфиге?
Загрузка списка категорий.
Для получения категорий левого (основного меню), (см. аттачмент) основного списка (тот который с иконками в центре) и в центре ниже используются 3 разных метода - которые непременно рекурсивно лазеют в базу ☝ Т.е. для кол-ва рубрик на скриншоте получится около 40 SQL запросов!!! А если рубрик будет больше и вложенность увеличена - то это настоящее испытание для SQL сервера. В итоге был написан 1 запрос, из которого строится полное дерево категорий и передается в шаблон, а там уже в разных местах по разному разбирается одно и тоже дерево.
Ну и так еще некоторые перлы с которыми столкнулся :)
На главной странице выводятся последние объявления, при просмотре раздела - там так же выводятся последние объявления этого раздела. Логично было предположить что используется один метод для получения последних объявлений в зависимости от рубрики (на главной от корня). Но только не здесь! На каждой странице (даже при создании объявления) из базы выгребаются последние для главной, а при просмотре рубрик - выбираются еще и для рубрики. Вот так вот.
Пока все... Но это только пока - работа еще не закончена.
ЗЫ Для всех желающих или вложивших деньги в это чудо разработки по окончании работ будет выложен дистриб под GPL
Он жрет много ресурсов. Трафика, места (если все модули подключать). На обычном хостинг его ОЧЕНЬ видно, он довольно резко бросается в глаза по статистике. А вот если для него отдельный сервер, либо отличный хостинг, то это лучший чат. Тк. оч много возможностей.
Да не жрет он много ни ресурсов ни трафика. Стоит уже больше 2-х лет, работает как часы. Только если покупать - то лучше здесь chatmod.net.ru - они демона переписали и затачивают под остальные браузеры кроме IE
Вариант для FF:
Инструменты - Информация о странице - Мультимедиа.
Для каждой картинки/флеша есть кнопка "Сохранить"
Вот рабочий вариант:
А вот арифметическое действие вроде (2+3)*4 или (sin(pi/6)+2) - это не всем распознавалкам капч под силу, это правильная мысль.
Может еще интеграл предложить с редактором формул для ввода ответа? 😮
А еще у некоторых может анимация не отображаться ( /ru/forum/98059 ) и будет бедный пользователь пытаться вбить первое число, и недоумевать - почему же неверно )))
Дело в настройках сервера, см 8 пост
Если хочешь использовать эту функцию, попробуй такой вариант: