Leaderboard


Popular Content

Showing content with the highest reputation on 04/17/15 in Сообщения

  1. 1 point
    Скрипт для импорта объявлений на Avito.ru в формате XML по категорию "Недвижимость за рубежом" Сам исходник доступно по ссылке https://github.com/kholmatov/Sitebill/tree/master/Avito
  2. 1 point
    Само всплывающее окно лежит в /template/frontend/realia/login_register.tpl а управляющие скрипты от него в /template/frontend/realia/js/interface.js Но само всплывание окна отсюда http://bootstrap-ru.com/javascript.php#modals. Эта библиотека подключена, так что можно пихать их по всему шаблону невозбранно.
  3. 1 point
    Добавляем тайтл для страницы регистрации. Поскольку регистрация - это функция, а не приложения, то какого-то кармана для настроек под него нет. Поэтому добавить заголовок мы может прямо в зоне точки входа. В /template/frontend/realia/main/main.php находим точку входа регистрации if ( !$has_result && preg_match('/^register/', $REQUESTURIPATH) ) {...//тут все что уже есть между скобок$this->template->assert('title', 'Регистрация'); //Это мы добавляем от себя в заголовок страницы$this->template->assert('meta_title', 'Мета заголовок для регистрации'); //... и для эстетов ))}
  4. 1 point
    Суть задачи - разместить на форме регистрации контрольный чекбокс состояние которого будет определять возможность нажатия кнопки завершения регистрации и невыбраное состояние которого не даст пройти процесс регистрации до конца. Рядом с чекбоксом разместить ссылку на какие-то доки или страницы с ознакомительной информацией. В чистом виде задача не решаема, поэтому придется немного смодернизировать код системы. Для избежания перегрузки всплывающего окна снесем всю регистрацию в полноценную страницу. Основной объект - файл /apps/system/lib/system/user/register_using_model.php Дополнительно нам понадобится файл /template/frontend/realia/register_user.tpl - шаблон точки входа регистрации. 1. Регистрация по своей сути - это заполнение полей модели user. Поэтому основой выступаем именно эта модель. Добавляем на нее поле типа checkbox с системным именем iam_agree, галочкой обязательно к заполнению и снятой галочкой Хранить в таблице. 2. В /apps/system/lib/system/user/register_using_model.php в функции _defaultAction() в самом конце функции находим строки $rs = $this->get_form($form_data[$this->table_name], 'new', 0, '', SITEBILL_MAIN_URL.'/register/');return $rs;которые заменяем на if(file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/register_user.tpl')){global $smarty;$smarty->assign('register_form', $this->get_form($form_data[$this->table_name], 'new', 0, '', SITEBILL_MAIN_URL.'/register/'));return $smarty->fetch(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/register_user.tpl');}else{return $this->get_form($form_data[$this->table_name], 'new', 0, '', SITEBILL_MAIN_URL.'/register/');}Смысл: мы ищем в папке шаблона файлик страницы регистрации и если находим, то компилим его в разметку и выдаем на гора. Если нет, то ведем себя как и раньше, выдавая просто форму. 3. Подобные манипуляции проделаем и с функцией _new_doneAction(), где вместо строки return $rs;ставим if(file_exists(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/register_user.tpl')){global $smarty;$smarty->assign('register_form', $rs);return $smarty->fetch(SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$this->getConfigValue('theme').'/register_user.tpl');}else{return $rs;}Смысл аналогичный. 4. Переходим к шаблону страницы регистрации /template/frontend/realia/register_user.tpl примерный код которого тут http://pastebin.com/jchtk1W8. Это привычный файл шаблона в котором обязательным является только строка4: {$register_form}все остальное призвано либо украсить, либо выполнить нашу миссию. Поскольку мы не можем вставить в форму ничего лишнего в обход модели, то мы воспользуемся скриптом, что бы прикрепить ссылку на Правила\Оферту к нашему чекбоксу. Саму ссылку мы размечаем вне формы в строке 7, и по ее id скриптом переносим ее на форму. Так же в скрипте мы проверяем состояние добавленого чекбокса и гасим-активируем кнопку отправки формы в зависимости от его состояния. Там же в скрипте мы блокируем отправку формы при невыбраной галочке. Естественно, после отправки на сервер, галочка опять будет проверена, что бы нас не обманули (за это отвечает галочка Обязательное поле в настройках элемента модели, то не имеет смысла в обычных условиях, но то, что надо в данном случае.). Мы получим что-то вроде
  5. 1 point
    Выкрал забугорный шпиён чертежи нашего новейшего истребителя. Потирая руки от радости, империалисты наняли лучших инженеров и решили собрать самолёт по чертежам. Не тут-то было. Как ни старались спецы-буржуины, но вместо чуда военной техники у них получался комбайн "ДОН-1500". Пришлось напрячься и украсть разработчика. Спрашивают: "Что мы делаем не так?" В ответ: "В левом нижнем углу чертежа видели надпись мелким шрифтом?" Нет, мол, не заметили. А там написано: "ПОСЛЕ СБОРКИ - ОСТАЛЬНОЕ ДОРАБАТЫВАТЬ НАПИЛЬНИКОМ".