abushyk

Модераторы
  • Публикации

    4036
  • Зарегистрирован

  • Посещение

  • Days Won

    269

Все публикации пользователя abushyk

  1. Перед последней закрывающей фигурной скобкой ( } ) в файле.
  2. Просто создаем ее в файле main.php своего шаблона. Она переопределит функцию из sitebill.php и будет работать вместо нее. Класс-контроллер, описанный в main.php, является наследником класса из sitebill.php.
  3. Это уже вроде бы не актуальная проблема. Конкретно по ид=1, насколько я помню, нет вообще обращений. Т.е. просто сносим пользователя с ид=1 и создаем своего в группе админов. Ну и данные, которые висят на старом было бы не плохо не забыть перенести. Относительно имени администратора вида "admin". Тоже не критично. Администратор может теперь иметь любое имя-логин. Бывают некоторые глюки, если использовать не admin, а что-то другое, но, большинство известных мне мест мы уже поправили. А если какие и остались, то поправим. В целом: для администратора сайта важно быть только в группе Администраторов. Есть только одно НО. Для некоторых аякс-операций и функций сообщений, как-то подача заявки, если на сайте несколько админов, самым "настоящим" будет считаться тот, который был добавлен первым. Самый яркий пример - невозможность сменить закладку расположения элемента формы в Редакторе форм прямо со списка элементов модели (даблкликом). Но войдя в редактирование элемента это уже возможно. Так же и с посылкой сообщений. При двух админах, сообщение уйдет первому из них. В некоторых модулях, которые не шибко популярны, либо не обновлены, сообщения могут перестать приходить, именно из-за ориентировки на имя админка в виде "admin".
  4. Можно проще, для тех, кому горит. /apps/system/lib/sitebill.php ищем функцию getDropzonePlugin() в ней находим строку maxFilesize: 2, и 2 меняем на нужное значение в мегабайтах. Фактически фильтр стоит на самой загрузке. При обработке на сервере, если например удастся обойти ограничение загрузчика, все равно используется значение, установленное в настройках. Так что указанное мною место - и есть бутылочное горлышко.
  5. Базовое решение. На примере шаблона agency 1. /template/frontend/agency/main/main.php ищем строку if(!$has_result && preg_match('/user(\d+).html/', $_SERVER['REQUEST_URI'], $matches)){которая открывает блок, где у нас рисуется сетка объявлений пользователя. После $this->setRequestValue('user_id', (int)$matches[1]);делаем дополнение $DBC=DBC::getInstance();$query='SELECT fio, phone FROM '.DB_PREFIX.'_user WHERE user_id=?';$stmt=$DBC->query($query, array((int)$matches[1]));if($stmt){$ar=$DBC->fetch($stmt);$this->template->assert('grid_user_info', $ar);}Этот блок выбирает данные из таблицы юзеров. Список fio, phone можно расширить нужными вам именами из модели user. Не делаете 'SELECT * ', что бы не выхватывать пароли-явки. Только нужные поля. Теперь в переменной {$grid_user_info} шаблона у нас есть данные. 2. /template/frontend/agency/realty_grid.tpl В этом шаблоне, в месте где должен быть вывод данных юзера, делаем проверку {if isset($grid_user_info)}...{/if}так как этот файл выводит все сетки, поэтому удостоверяемся, что данные есть. А внутри этогой проверки делаем нужный нам формат вывода.Например{if isset($grid_user_info)}<b>имя</b> {$grid_user_info.fio}{/if}В итоге, и в систему не влезли, и данные получили.
  6. К сожалению, в данный момент 2М на картинку вшито в код. Не подумал. В первом же обновлении будет доступно изменение размера путем установки для элемента загрузки параметра max_file_size с указание размера в мегабайтах.
  7. HTML5. Вот и весь стандарт. Отличие standart_search_form от автогенерированной кодом на основании модели заключается в: 1. Во втором случае разметка для элементов формы генерируется автоматически, тогда как в первом ее надо, по большей мере, писать самому. 2. Первая более гибкая для привязки всяких сриптов и других фич - например скрытие группы элементов поиска в зависимости от какого-то переключателя. Со второй - это сложнее. 3. Больше возможностей по дизайнингу. Так как форму вы компонуете сами, то вольны свободно размещать элементы, что очень проблематично во втором случае. 4. Накидать второй вариант быстрее, чем первый. Общее. Как описано выше - организацию поиска по "неуставному" полю придется прописывать в обеих случаях. Как натыкать элементы в форму? Если элемент простой и не охота заморачиваться, то просто в коде шаблона пишем его разметку. Например хотим искать по полю номер квартиры (в модели flat_number). Значит ставим <input type="text" name="flat_number" />Все. Элемент формы есть. Естественно в нем нужно предусмотреть "запоминание" значения, как когда нажали искать, поиск произошел, а в поле указан параметр по котому искали. Например (исключительно для понятия): <input type="text" name="flat_number" value="{$smarty.get.flat_number}" />Если делать по уму и правилам, тогда наследуем класс формы поиска, как здесь http://www.etown.ru/s/topic/241-добавить-новые-поля-в-поиск/?p=2741 и в нем генерируем нужные нам блоки разметки для нужных элементов. Из плюсов - мы получаем готовую разметку с запоминанием. Из минусов - мы теряем некоторое управление над этими кусками из за их "самостоятельности" при создании. Для генерирования элементов используются методы $this->template->assert('placeholder_element', $form_generator->placeholder_generator($kvartira_model['data']['element']));Т.е. использовав метод placeholder_generator() с аргументом элемента модели, вы в шаблоне, в {$placeholder_element} получим разетку. Тип элемента модели Соотв. ф-ция placeholder_generator safe_string = функции как таковой нет. придется делать разметкой. select_by_query = get_single_select_box_by_query select_box = get_select_box checkbox = get_checkbox В кратце как-то так.
  8. Для пунктов структуры дуюлирование возможно только тогда когда задаются одинаковые title и meta_title поля, либо, когда meta_title не задан (в этом случае его заменяет title). Так как у вас на скриншоте, в штатной ситуации, текст из мета_тайтла идет в шапку браузера, а из тайтла в заголовок h1. Разделение на title и meta_title возникло сравнительно недавно. На шаблоне realty используется свой построитель сеток, поэтому он не подхватил этих изменений. Решение: /template/frontend/realty/main/main.php ориентировочно 693 строка внутри функции grid_adv() найдите блок if ( $topic['meta_title'] != '' ) {$title = $topic['meta_title'];} else {$title = $topic['name'];}и замените его на if ( $topic['meta_title'] != '' ) {$title = $topic['name'];$meta_title = $topic['meta_title'];} else {$title = $meta_title = $topic['name'];}а чуть ниже, через 15 строк где-то, после $this->template->assign('title', $title);добавьте $this->template->assign('meta_title', $meta_title);
  9. У вас, случайно, magic_quotes на php не включены?
  10. Проблема не в том, что бы разложить по папкам, а в том, что потом с ними делать и как эти картинки оттуда вынимать для шаблонов списков, просмотров, выводов в колонках, всяких экспортах в эксели, пдфы и хмл. Это ведь тоже надо прописать, что бы код знал КАК сформировать путь к файлу с картинкой. И что бы знал как удалить все картинки, привязанные к данному объявлению. А просто по папкам кинуть - это да, делается быстро.
  11. Так кардинально, наверное не выйдет. Т.е. реализовать, с некоторой долей вероятности, можно, но это будет геморройно и с правками системных файлов.
  12. 1. Кажется пришло время обновиться. Проверьте текущую версию system приложения. 2. настройки - Общее - Блокировать корневые элементы в селектбоксах структуры выключить
  13. Оттуда не надо. Без вмешательства в системный код не выйдет.
  14. 1. Удалить из справочника - который в админке справа? или из данных самого объявления? 2. Админка - Приложения - Редактор Форм выбираем таблица data , кликаем возле заголовка - разворачивается список свойств объявления. В заголовке есть кнопка с плюсиком. И дальше https://www.youtube.com/watch?v=vpVpUq0q5GA
  15. в принципе нет. они могут работать от одной базы, только придется явно обозначать тип операции (если таковая присутствует в модели) для выборки данных. По крайней мере, так мне кажется не вникая в детали реализации.
  16. /template/frontend/agency/layout_basic.tpl все, что внутри <div class="header"></div> - это шапка с лого и меню. верхняя менюшка, на сером фоне, - это /template/frontend/agency/top_fixed_menu.tpl.html
  17. А сами новости добавлены?
  18. Меню поддерживают только линейную структуру в один уровень. Так, что бы дерево в одно меню заложить не выйдет. Название подпункта(en) - это англоязычное название этого же пункта. Насчет текста и лого, скажите какой шаблон.
  19. Он не нуждается включении. Он просто не выведен в шаблон, так как ему банально не хватало места. Если вы примерно зхнаете куда хотите его поставить, то в нужном месте шаблона разместите метку {$news_list_column_html}
  20. Либо заверстать все это сразу в шаблоне. Либо создать два аггрегатора пунктов по типу Верхнее меню, вывести их в одном месте шаблона и с помощью стилей опять таки заверстать выпадалку. По сути будет, что все пункты одного меню будут играть роль пунктов в выпадающем списке.
  21. Я имел в виду радикальный вариант - когда при входе на сайт проверяется состояние юзера и, если он - Гость, перенаправлять его на /login. И так до опупения, пока не войдет или не зарегистрируется и войдет.
  22. Обделенные роботы. Если ограничиить доступ к сайту только авторизированным - роботы остаются в пролете. Либо на точках, которые отвечают за отправку форм, в том числе и асинхронно, ставить проверку и не давать им срабатывать на госте, а сам просмотр объявлений и сеток оставить открытым
  23. Попробуйте просто зайти в административную часть приложения. Админка - Приложения - RSS новостей сайта А уже после этого обновите страницу настроек Обычно настройки прописываются после запуска админ-части, а не после обновления.
  24. Если сможете описать свое видение алгоритма как из данных объявления было бы желательно формировать мета-данные, то могу накинуть это кодом.
  25. Эти кнопочки, в 90% случаев заводятся через Контент - Меню. Смотрите в админке в левой боковой панельке. Скорее всего это либо Правое меню, либо Верхнее меню. Выберите кнопку Структура напротив него и вы получите доступ к его элементам - фактически этим кнопочкам. Там же сможете и добавить новый пункт. Если же надо добавить что-то более индивидуальное, то /template/frontend/agency/top_fixed_menu.tpl.html - это шаблон этой верхней полоски для агенси. Манипуляции с его разметкой могут дать более широкое поле для творчества. А само меню в нем выводится в {section name=i loop=$right_menu}<li><a href="{$right_menu[i].url}">{$right_menu[i].name}</a></li>{/section}