abushyk

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

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

  • Посещение

  • Days Won

    269

Изменения репутации

  1. Like
    abushyk получил репутацию от Realtor в Заголовок из тайтла   
    Принцип теперь такой.
    Есть две переменные шаблона - $title и $meta_title
     
    $title формируется как и предыдущая из цепочки категорий, в которую входит объявление (для объявлений), либо из названия категории (для категории).
    $meta_title создается из полей 'meta_title' элементов соответствующих моделей.
    Если значение $meta_title не удалось проинициализировать чем-нибудь вменяемым (например такого поля нет в модели, либо оно пустое), тогда эта переменная примет значение, которое находится в $title.
     
    От вас требуется явно прописать использование $meta_title в тегах header вашего шаблона.
     
    Файл header.tpl (для основной массы шаблонов), либо main.tpl (для некоторых, у которых нет файла header.tpl) в блоке head сменить строку
    <title>{$title}</title> на
    <title>{$meta_title}</title>
  2. Like
    abushyk получил репутацию от Realtor в Утилизация отработанных объявлений   
    В данный момент у объявления, грубо говоря, есть статус с двумя положениями - активно\неактивно. Возможно будет необходимо расширить систему статусов до большего числа состояний.
  3. Like
    abushyk получил репутацию от MaxTu в Отдельный шаблон новостей   
    Выяснил почему. При подключении шаблонов приложения используется функция, которая опирается на имя темы из конфига, поэтому переданное в запросе имя темы не срабатывает.
  4. Like
    abushyk изменил репутацию MaxTu в Хак: установка шаблона из URL "на лету"   
    Может быть кому-то еще пригодится следующее решение.
     
    При работе над проектом столкнулся с проблемой установки и тестирования нового шаблона "на лету" прямо на сервере, потому как шаблон правится на "живом", уже работающем с контентом сайте, а поднимать локальную копию сайта не хочется. По-умолчанию в адмнке в настройках установлен шаблон agency. Я сделал в index.php:92 следующий хак:
     
    вместо
    $smarty->template_dir = SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$sitebill->getConfigValue('theme'); поставил простую строчку:
    if ( $_GET['theme'] != '' ) { $theme = $_GET['theme']; } else { $theme = $sitebill->getConfigValue('theme'); };$smarty->template_dir = SITEBILL_DOCUMENT_ROOT.'/template/frontend/'.$theme; Теперь если добавить в url страниц сайта строку ?theme=akademiyametrov, будет установлен шаблон akademiyametrov (к примеру, для разработчиков), а все остальные посетители будут использовать шаблон по-умолчанию.
  5. Like
    abushyk изменил репутацию MaxTu в Шаблон realty - изменения шапки   
    Сегодня решил данную проблему на уровне шаблонизатора Smarty без вмешательства в php-код:
     
    шаблон main.tpl:
    {if $smarty.server.REQUEST_URI|regex_replace:"/\?(.*)/":"" eq '/'} ...{/if} Работает просто, как топор: нужный блок "..." выводится только на главной.
  6. Like
    abushyk получил репутацию от Дима в ОШИБКА: отображение валюты   
    И сетка и второй вид отображения списком создаются по одним и тем же данным. Та, что должны быть идентичными.
    Посмотрите
    /template/frontend/agency/realty_grid_thumbs.tpl.html
    строка 61 или в ее районе
    соответствует ли код этому
    <span class="listitemprice">{$grid_items[i].price|number_format:0:",":""} {if $grid_items[i].currency_name != ''}{$grid_items[i].currency_name}{/if}</span> К этому, на всякий случай, очистите папку /cache/compile
  7. Like
    abushyk получил репутацию от YUR@ в TLocation в картинках   
    Допустимое системное имя элемента этого типа: tlocation (и не иначе)
     
    Этот тип поля не хранится в БД as is. Поэтому галочка Хранить значение поля в таблице должна быть снята.
     
    Задачи компонента
    1) управлять географической структурой адресных полей
    2) реализовывать подбор данных для элементов географии не-tlocation, но с параметров autocomplete=1

    Тип поля модели, отвечающий за адресные данные.
    Содержит в себе 5 встроенных компонентов
    country_id - идентификатор страны из таблицы country
    region_id - идентификатор региона из таблицы region
    city_id - идентификатор города из таблицы city
    district_id - идентификатор района города из таблицы district
    street_id - идентификатор улицы из таблицы street

    Предполагает наличие иерархической зависимости именно в порядке country_id -> region_id -> city_id -> district_id -> street_id
    Есть одно исключение. Если указан параметр link_street_to_city из иерархической цепочки исключается звено district_id, и street_id считается зависимым от city_id.

    Принципиально каждый компонент этого типа не обязана соответствовать буквально своему названию.
    Например city_id может указывать на район области в тот момент, когда region_id указывает на область, если в соответствующих таблицах city и region содержатся данные о областях и районах областей.
    Допустимые параметры:
    visibles - перечень отображаемых компонентов. Указывается в формате компонент1|компонент2|компонент3 Порядок компонентов не важен. При отсутствии этого параметра или его пустом значении будут отображены все компоненты. (Это поведение будет изменено. При отсутствии этого параметра элемент не будет генерироваться. Поэтому лучше явно указывать список выводимых частей) Например region_id|city_id выведет селектбоксы для региона и города.

    Результат


    default_country_id, default_region_id.... - значение по умолчанию. например выбрано для отображения регион и город. Если текущее значение country_id не установлено, список регионов с списке выбора регионов будет установлен соответственно default_country_id, если оно задано и не равно 0. В противном же случае будет выведен список всех регионов из таблицы region


    show_names - признак того, нужно ли выводить возле каждого подэлемента tlocation имена-метки. По умолчанию и при отсутствии данного параметра считается включенным (=1)
     
    Включено


    Выключено


    names - имена отдельных элементов. Задаются в формате имя_подэлемента:имя_метки|имя_подэлемента2:имя_метки2

     
    Обновление вывода.
    С версии system-2.5.25 и tlocation-1.1 генератор формы возвращает tlocation в форму не как обычный эемент (заголовк и кусок хтмл для вставки), а как коллекцию элементов.
    Для тех, кто использует базовый файл /apps/system/lib/frontend/search/kvartira_search.php для генерации форм поиска это изменение учтено. Тепер такие блоки как {$country_list}, {$city_list}, которые находились в шаблоне форму поиска, при наличии элемента tlocation будут заменены соответствующими кусочками элемента tlocation. Но ничто не запрещает присваивать разметку этих элементов другим переменным шаблона и свободно перемещать их в пределах формы.
    Те, кто использовал локальные формы поиска с {$tlocation_form_element_simple.html} столкнутся с багом.
  8. Like
    abushyk получил репутацию от denkurgan в Как сделать поиск по-умолчанию для города   
    Не гарантирую, но можете попробовать следующий эксперимент
    if ( $this->getConfigValue('district_in_form') ) {    if((int)$kvartira_model['data']['city_id']['value']==0){        $kvartira_model['data']['district_id']['query']='SELECT id, name FROM '.DB_PREFIX.'_district WHERE city_id=3 ORDER BY name ASC';    }    $this->template->assert('district_list', $form_generator->get_single_select_box_by_query($kvartira_model['data']['district_list']));} Только этот код должен вызываться ДО того, как вы примените дефолтный номер города в city_id
  9. Like
    abushyk получил репутацию от denkurgan в Как сделать поиск по-умолчанию для города   
    стоп. так дело не пойдет.
    в $city_list у вас кусок хтмл-разметки, поэтому сравнивать его с нулем бессмысленно.
     
    если хотите выставить город в форме, тогда надо в kvartira_search или его локальном заменителе, там где строки
    if ( $this->getConfigValue('city_in_form') ) {    $this->template->assert('city_list', $form_generator->get_single_select_box_by_query($kvartira_model['data']['city_id']));} изменить так
    if ( $this->getConfigValue('city_in_form') ) {    if((int)$kvartira_model['data']['city_id']['value']==0){        $kvartira_model['data']['city_id']['value']=3;    }    $this->template->assert('city_list', $form_generator->get_single_select_box_by_query($kvartira_model['data']['city_id']));} Но в самом шаблоне вы уже не имеете возможности влиять на селектбокс. Только яваскриптом.
  10. Like
    abushyk получил репутацию от Realtor в Всплывающие окошки   
    Например
    файл /template/frontend/agency/realty_grid_thumbs.tpl.html
    строки, где фигурирует

    <a href="{if $grid_items[i].url!=''}{$grid_items[i].url}{else}{$grid_items[i].href}{/if}" title=... их там несколько.
      после <a допишите  target="_blank" в итоге
    <a target="_blank" href="{if $grid_items[i].url!=''}{$grid_items[i].url}{else}{$grid_items[i].href}{/if}" title=... Это для сетки в виде блочков.
     
    Для сетки в виде таблицы (/template/frontend/agency/realty_grid.tpl) этот вариант фиговый, та как там по клику на строке идет переход скриптом. Единственное место, где есть нужная ссылка - это фотка. Вот в эту ссылку точно так же надо поставить target="_blank". И после этого из брамляющего эту ссылку элемента td надо удалить {if $admin == ''}  onClick="document.location='{$grid_items.href}'" {/if}
  11. Like
    abushyk получил репутацию от denkurgan в Как сделать поиск по-умолчанию для города   
    Я внес правки, что бы сортировало и в автокомплите. Ждите обновления tlocaion.
  12. Like
    abushyk получил репутацию от denkurgan в Как сделать поиск по-умолчанию для города   
    Ок. Эти изменения пойдут в базовую версию, так что за затирание можете не бояться. А с затиранием при активации я посмотрю, как там привести к единообразию.
  13. Like
    abushyk получил репутацию от Realtor в Распечатка таблицы и карточки объекта   
    Проще всего будет сделать так.
    Допустим передано ?do=print
    В самом шаблоне просмотра ловим єту переменную
     
    {if isset($smarty.get.do) && $smarty.get.do=='print'}
     
    {/if}
     
    и внутри этого условия подключаем css файл, в котором уже извращаемся над внешним видом - ставим display:none для ненужных элементов и т.д.
     
    Это для карточки. Для сеток в принципе может быть реализовано похоже.
  14. Like
    abushyk получил репутацию от denkurgan в Как сделать поиск по-умолчанию для города   
    denkurgan, я продолжу на вас ставить эксперименты )
     
    http://my.digitalwerkstatt.ru/files/mycombobox.js.rar
     
    Файлом из архива замените файл /apps/system/js/mycombobox.js
    Старый можете забекапить, а не перезатирать.
     
    Должна решиться проблема с результатами от первой букву в комбобоксе.
  15. Like
    abushyk получил репутацию от denkurgan в Как сделать поиск по-умолчанию для города   
    http://my.digitalwerkstatt.ru/files/mycombobox_ac.rar
     
    вот такой же заменитель для mycombobox_ac.js
  16. Like
    abushyk получил репутацию от Chernetskiy в Сколько категорий можно выбрать   
    Нельзя.
    цп1251 съест это, хоть это и против правил (варчар устанавливается количеством символов, но ограничен физическим пространством под данные). Так как цп1251 - однобайтовая кодировка, то даже 1000 символов укладывается в разрешенный объем. В утф8 на каждый символ приходится несколько байтов. Соотв. размер физики на 1000 символов в цп1251 и 1000 символов в утф8 будет разный. Именно поэтому спецификацией на варчар установлен лимит в 255 - что бы при смене кодировки не возникало переполнения физического объема, а 255 символов в любой кодировке уместятся в разрешенное для варчара Mysql'ом место.
  17. Like
    abushyk получил репутацию от Solovei9 в Улучшаем юзабилити сайта для статичных страниц   
    Описываю принцип. Не универсальный и не лучший! Для agrncy - шаблона. Но по этим мотивам можно адаптировать и для другого.
     
    Иходные данные - есть статическая страничка которая отзывается по адресу, например /onas
     
    Создаем два файла - /template/frontend/agency/lc_full.tpl и /template/frontend/agency/lc_strict.tpl. Первый для полноценного вывода, второй для обрезанного.
     
    Идем в файл /template/frontend/agency/main.tpl и находим кусок кода
    <div id="lc">...тут_разметка_всякая...</div><div id="rc"> Все то, что ...тут_разметка_всякая... вырезаем и переносим в файл lc_full.tpl . А вместо вырезанного ставим
     
    {if $smarty.server.REQUEST_URI|replace:'/':''=='тут_урл_вашей_страницы'}{include file='lc_strict.tpl'}{else}{include file='lc_full.tpl'}{/if} тут_урл_вашей_страницы - указывается без ведущих и закрывающих слешей, не /onas, не onas/, а чисто onas.
    Если в урле вашей страницы есть слеши (aboutcompany/onas) - дело плохо, не сработает.
     
    Файл lc_full.tpl сохраняем как есть.
     
    В файле lc_strict.tpl пишем 
     
    <div id="left">{if $main_file_tpl != ''}    <div class="clear"></div>   {include file="$main_file_tpl"}{else}{$main}{/if}</div> и сохраняем.
  18. Like
    abushyk изменил репутацию denkurgan в Как сделать поиск по-умолчанию для города   
    Поле  street
    Состояние конфиги Использовать combobox в элементах select (use_combobox) - стоит галочка
    Значение autocomplete на тестированом элементе -  параметров нет совсем
    Состояние галочки Использовать комбобокс-виджет для тестированого элемента в настройках поля модели. - стоит галочка
    Далее варианты
      1.Состояние файлов mycombobox_ac.js и mycombobox_ac.js -  физичеки отсутствуют.
         Работает как обычный  select_box, без набора первых букв. Вначале работало и без файлов, видно из кеша.
     
      2.Состояние файлов mycombobox_ac.js и mycombobox_ac.js -  замененные на выданные вами.
              Форма поиска                                                                          Форма заполнения объявления
     
    При открытии формы:
         В ячейке заголовок по умолчанию                                          В ячейке название первой по списку улицы
          то что указано  в редакторе форм                                         из справочника улиц
     
    При активации ячейки
         Приходится стирать находящиеся                                          Значение исчезает можно сразу набирать
         там значение                                                                             новую улицу
     
    Поиск в обоих формах проходит хорошо: сначала идет поиск по первым буквам, потом по всему тексту.
     
    После заполнения других ячеек при возврате на улицу:
          Можно исправить название улицы                                        Происходит стирание предыдущего названия,
                                                                                                           если возврат произошел случайно, надо будет набрать заново улицу
  19. Like
    abushyk изменил репутацию Дмитрий Кондин в Проблема с загрузкой фото в обьявления   
    Есть такой, photoshop называется )
    А вот чтобы браузер фото обрабатывал, такого не слышал.
  20. Like
    abushyk получил репутацию от Solovei9 в Проблема с загрузкой фото в обьявления   
    Ограничения следующие:
    1. формат файла 'jpg','png','gif','jpeg'
    2. Размер файла - упирается в параметр php вашего сервера с именем upload_max_filesize. Тут уже надо смотреть результат phpinfo()
     
    Если фото грузятся, но и не видно, надо проверить права на папки с фотками - куда их грузит движек перед обработкой (/cache/upl/) и конечную папку для картинок /img/data/ 
     
    Так же посмотрите как выглядят в файле /apps/system/lib/system/uploadify/uploadify.php в районе строк 83-68.
     
    move_uploaded_file($tempFile,$targetFile);   /* На случай, если сервер выставляет на загруженные файлы права 0600*/    chmod($targetFile, 0755);   /**/
  21. Like
    abushyk получил репутацию от Realtor в Стили для фотографии обьявления   
    Нет. Пока не сохраните оъявление, фоток физически в базе еще нет, поэтому и отсортировать их нельзя. Разве что только порядком добавления - самая первая добавленная, становится главной.
  22. Like
    abushyk получил репутацию от Alexandr в фавикон (favicon) на свой?   
    В корне вашего сайта лежит favicon.ico. Замените его на свой с таким же именем.
  23. Like
    abushyk получил репутацию от evol22 в Создание форм поиска   
    Попробуйте добавить в параметрі поля price модели параметр is_ranged=1. Должны получиться поля диапазона.
    Позунка нет и, в ближайшее время в автоформах, не будет.
  24. Like
    abushyk получил репутацию от Realtor в Вывод полей в таблице на главной   
    walls это поле типа select_box ?
     
    В сетке доступны текстовые значения только некоторых полей, самых популярных - адресные, категория, валюта. Остальные присутствуют только в виде числовых идентификаторов соответствующих записей из других таблиц или наборов значений, из соображений облегчения работы при выборке данных из БД.
     
    Если очень нужно, необходимо создать локальный grid_manager.php и в нем уже сформировать текстовый вывод для поля, которое вам необходимо.
  25. Like
    abushyk получил репутацию от Дмитрий Кондин в Обновления 11.11.2013   
    Думаю, что скоро, не смотря на наличие редактора форм, мы придем к некоторой спецификации модели, которая будет иметь набор обязательных неизменяемых полей. Наверное даже управление которыми будет не доступно пользователю через редактор форм. Эот будут поля вроде id, дата создания, дата изменения.