Александр Лубянский

Участники
  • Публикации

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

  • Посещение

  • Days Won

    2

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

  1. Like
    Александр Лубянский изменил репутацию abushyk в Вывод списка прикрепленных файлов (docuploads)   
    Проверьте через phpMyAdmin тип поля type_id в таблице re_client. Оно должно быть VARCHAR(100), но ранее оно изначально было типа INT(11) что нехорошо.
  2. Like
    Александр Лубянский изменил репутацию abushyk в Вывод полей в просмотре объявления   
    В шаблоне должна быть доступна переменная $smarty.session.current_user_group_name , которая содержит системное имя группы пользователей (то, которое значится в поле "Системное название (только латинские буквы)",когда вы редактируете группу пользователей) в которой находится текущий пользователь.
    Т.е. можете проверять залогинен ли пользователь и значение этой переменной
    {if $smarty.session.user_id>0 && $smarty.session.current_user_group_name eq 'special_users'}
    ...
    {/if}
  3. Like
    Александр Лубянский изменил репутацию Chernetskiy в Регионы и города РФ (+улицы)   
    В моем архиве есть программка KLADR-viewer, скачай её, установи и подгрузи свежую базу КЛАДР (справка в архиве), при просмотре базы будет всё понятно. В базе есть налоговые и территориальные индексы, ими и можно воспользоваться при создании своих справочников.
  4. Like
    Александр Лубянский изменил репутацию abushyk в Статусы объявлений   
    В принципе подобие статуса Продано\Архивировано есть. Это чекбокс с именем archived установка которого переводит объявку в некоторое "полудохлое" состояние, когда она не светится в поиске с формы поиска, но открывается по прямой ссылке. Но эта опция получилась заумной и требующей включения еще пары галочек (привет галочкам "Использовать предудаление" и "Архивированные объявления полностью не доступны") и сильно слилась с понятием "удаления в архив" и вообще процессом удаления. Так что использовать ее пока сложно, тем более, что такие объявки еще и из списка в админке вылетают из общего и для ЛК перевод в это состояние завязан на кнопке удаления. Поэтому использовать ее сейчас по требуемому назначению я бы не рекомендовал. Скорее мы запилим некую лайт-версию такой же галочки с предустановленным поведением.
    ПС. Наделать статусов дело не хитрое. Все упирается в а) обилие желаемых статусов (опросить пять форумчан и насобирается с два десятка разных "критически нужных" статусов))) )  б) трактовки смысла одного и того же статуса и его влияния на окружающую среду кода.
  5. Like
    Александр Лубянский изменил репутацию Chernetskiy в Регионы и города РФ (+улицы)   
    Думаю, что надо сделать универсальное решение - создать справочник регионов, в которых индексы прописать по аналогии налоговых регионов, например 77-Москва, 50-Московская область и т.п., и под эти индексы создавать справочники городов /населенных пунктов региона и улиц, которые можно будет скачивать отдельно и они будут стыковаться с вышестоящими. В принципе, если следовать индексам в КЛАДР, то это получится, там заложена логическая индексация всего вплоть до улиц.
  6. Like
    Александр Лубянский изменил репутацию Moses в Не все так хорошо в красноярском королевстве   
    Я тоже хочу сказать немного об этом движке. У меня тоже был выбор между двумя платными CMS, но выбрал эту. Честно сказать не жалею. То что хотел сделать, я сделал малыми потерями для себя, так как немного понимаю в этом всем, но и помощь была оказана. Конкуренты мне завернули такую сумму за переделки, которые нужны были мне, что у меня волосы дыбом встали. С точки зрения тех поддержки тут все нормально. С точки зрения функциональности даже самой админки, есть много вопросов (я думаю все доведут до ума). Но и конечно же что меня смутило больше всего это отсутствие описания по каждой функции, некоторые настройки вообще не понятны, приходится все проверять методом научного тыка. Документации тоже не очень много, либо она очень сложная для понимания.
    В оправдание хочу сказать что многие популярные движки начинали точно так же, все приходит со временем. Джумлу постоянно улучшают вот уже больше 10 лет.
    Подводя итог хочу сказать вот что:
    1) не жалею о выбранном движке,
    2) ребята доведут до ума не только функционал, но и все настройки
    3) а так же выпустят онлайн документацию, возможно даже со всеми наработками, которые уже приходилось делать для пользователей
  7. Like
    Александр Лубянский изменил репутацию abushyk в Создание приватных полей   
    замените на
     
    {if is_array($data.documents.value) && count($data.documents.value) > 0} {foreach name=j from=$data.documents.value item=document_item} <a target="_blank" href="{$estate_folder}/img/mediadocs/{$document_item.normal}">{if $document_item.title != ''}{$document_item.title}{else}{$document_item.normal}{/if}</a><br/> {/foreach} {/if} разница только в первой строке.
  8. Like
    Александр Лубянский изменил репутацию TopRaN в вывод в поиске пользовательских форм   
    Вам нужно нажать клавишу cntl и мышкой отмечать или снимать галочку на нужном объекте.
  9. Like
    Александр Лубянский изменил репутацию doma в Добавляем свои переменные и массивы в шаблон   
    поприсматривались, поизучали, поанализировали -спасибо за подсказку и реализацию! но не смогли найти условие или где формируется вывод VIP объявления только для того города в котором находится объявление, то есть к примеру просматривая объявление из москвы, нужно чтобы показывались в новом блоке через "мою" переменную только VIP объявления из Москвы

    Подскажите где идет выборка по условию города
    возможно где то в private function getMyNewest(){ надо вставлять условие типа проверки города?
     
  10. Like
    Александр Лубянский изменил репутацию Дмитрий Кондин в Создание приватных полей   
    С кириллицей пока не очень, из-за обилия разных хостинг-платформ кириллические имена на файловую систему не всегда правильно сохраняются. Поэтому решили пока сохранять в транслите.
  11. Like
    Александр Лубянский изменил репутацию Дмитрий Кондин в Создание приватных полей   
    В docuploads после загрузки файлов, открыть снова редактирование записи и там можно указать описание для каждого файла.
    Еще мы сделали опцию
    Сохранять физические названия загруженных файлов (use_native_file_name_on_uploadify)  Она позволяет сохранить названия загруженных файлов.
  12. Like
    Александр Лубянский получил репутацию от Chernetskiy в Создание приватных полей   
    Вот оно! Добрался таки до истины!
    Резмирую для ищущих! Чтобы заставить работать в шаблоне  docuploads 
    1.  Добавим в форму поле с типом данных docuploads и названием documents Теперь в форме в это поле можно добавлять документы (pdf, doc, xls)
    2. /template/frontend/ваш_шаблон/realty_view.tpl
    Находим строчку, начинающуюся с 
    {if $data_item.type eq "primary_key" or $data_item.value eq "0" or $data_item.value eq "" В конце добавляем еще одно условие -  or $data_item.type eq "docuploads" (потому как априори, даже если вы купили тему вчера, не факт что оно там есть!)
    3. Добавляем в нужном месте в /template/frontend/ваш_шаблон/realty_view.tpl
                            {if count($data.documents.value) > 0}
                                {foreach name=j from=$data.documents.value item=document_item}
                                <a target="_blank" href="{$estate_folder}/img/mediadocs/{$document_item.normal}">{if $document_item.title != ''}{$document_item.title}{else}{$document_item.normal}{/if}</a><br/>
                                {/foreach}
                            {/if}
    На этом как бы все! 
    Но... все же просто не бывает! Файлы выводятся непонятно с каким названием... видимо системным, т.е. что человек должен качнуть или открыть, этот только админу известно!
    http://joxi.ru/Ra2XGeEiKBNGmg
    Название поля.... отсутствует!
    P.S. В итоге... мне понадобился один световой день, три топика и 4 коммента... господа... не многовато ли?! 
    Я конечно все понимаю и вы реально делаете большую работу, но... это ж не дело! Мне нравится в каких то моментах система, но, простые мелочи отнимают столько времени!!! 
    Я уже две недели пилю шаблон realia прекрасно понимая, что это шаблон, но... визаулка я согласен, на вкус и цвет, но программные то части как же?
    К примеру, завтра глобально обновится ядро, вы поправите функции в шаблоне, с учетом моей кастомизации, я просто не смогу обновиться, мержить туеву хучу файлов, ну вы меня извините!
    В той же реалии, я посмотрел здесь http://package.etown.ru/ и потестил как работает вывод Выделенного, Премиум и Вип, функции есть, но реализованы как попало...
     
  13. Like
    Александр Лубянский изменил репутацию Chernetskiy в Как грамотно заполнить базу Москвы и Помосковья   
    Перезалью на досуге.
  14. Like
    Александр Лубянский изменил репутацию Chernetskiy в Создание приватных полей   
    Хочу = Фриланс
  15. Like
    Александр Лубянский изменил репутацию metrpro в Смена системы приема платежей (в связи с большими реформами Робокассы)   
    Господа разработчики! Хочется ребром поставить вопрос о смене системы приема платежей Робокассы на другую систему (желательно, Яндекс).
    Вызвано это полученным сегодня мною письмом:
     
    Также вызывает мою озабоченность смена ОкеанБанка (у которого отозвана лицензия).
    Дима, Костя - давайте поменяем Робокассу - какие могут быть ей альтернативы?
     
  16. Like
    Александр Лубянский изменил репутацию abushyk в Модуль статьи для сайта   
    И еще после 
    $arts=$AA->getArticlesList($params); сделайте var_dump($arts);
    что бы убедиться, что статьи выбрались и не работает только вывод.
  17. Like
    Александр Лубянский изменил репутацию Дмитрий Кондин в Модуль статьи для сайта   
    Включите опцию apps.articles.preload_column
    И блок статей в шаблоне можно выводить так
    {$articles_block_html}  
  18. Like
    Александр Лубянский изменил репутацию abushyk в Модуль статьи для сайта   
    В контроллере шаблона main.php после вызова приложений
    if(!$has_result){ $apps_processor = new Apps_Processor(); $apps_processor->run_frontend(); if ( count($apps_processor->get_executed_apps()) > 0 ) { $work_subcontroller='apps'; $has_result=true; } } добавляем запрос на выборку
    $AA=new articles_site(); $params=array(); $arts=$AA->getArticlesList($params); $this->template->assert('main_page_articles', $arts['articles']); В результате вы получите до 10 последних статей. Что бы изменить это количество
    $params=array(); нужно заменить на
    $params=array('per_page'=>5); Теперь в шаблоне у вас будет переменная {$main_page_articles} которая будет содержать набор статей в виде массива моделей. Дальше прокручиваем ее в цикле и выводим аналогично как это сделано в /apps/articles/site/template/list.tpl
    NB. В текущей версии функция getArticlesList недоступна извне. Поэтому в файле /apps/articles/admin/admin.php необходимо изменить
    protected function getArticlesList на public function getArticlesList
    Со следующей версии это изменение будет учтено.
  19. Like
    Александр Лубянский изменил репутацию Анастасия в Количество объявлений в админке   
    Тогда ждем. А когда ждать?
  20. Like
    Александр Лубянский изменил репутацию Дмитрий Кондин в Количество объявлений в админке   
    Сделаем в новой версии возможность разделения количества для админки и для сайта разное.
    Сейчас они связаны.
  21. Like
    Александр Лубянский изменил репутацию abushyk в Монетизация с помощью списков просмотров   
    Суть
     
    Разрешить просмотр контактных данных объявления для пользователей, которые подключили и оплатили некоторый список просмотра (СП). Список просмотра регламентирует количество дней на протяжении которых доступен просмотр контактов и стоимость данного периода.
    Подключение СП проходит через раздел Личного кабинета (ЛК), а оплата списка производится из ЛК посредством Робокассы.
    Намеренно исключаю возможность задания СП при регистрации, когда вместе с регистрационными данными пользователь должен выбрать конкретный вариант СП, что бы унифицировать процедуру пользования СП для обычных пользователей и пользователей регистрирующихся через соцсети.
    Пример будет приведен на базе шаблона realia, но для любого другого шаблона принцип будет аналогичен.
     
    Приницип работы
     
    При загрузке страницы происходит извлечение СП для текущего пользователя. Если есть в наличии хоть один активный для данного момента времени СП в переменную сессии сохраняется состояние "открыто". Этот параметр проверяется в местах, где необходим вывод контактны данных и средствами шаблона принимается решение - выводить или скрыть блок с контактными данными.
     
    Задействованные приложения
     
    registersms - приложение используется формально. Находится в выключенном состоянии и служит для хранения настроки соотношения периода СП и цены за этот период. В принципе не критично и может быть реализовано отдельной настройкой
    watchlistmanager - приложение-хранилище функционала для работы СП. Должно быть, быть включенным и установленным.
    настройки Робокассы - must have
     
    Необходимые файлы
     
    Набор вспомогательных файлов можно скачать тут
    Файлы в архиве расфасованы согласно структуре шаблона. Т.е. то, что находится в папке main должно лечь в папку main вашего шаблона etc.
     
    Изменения
     
    В файле main.php
     
    Внутри class frontend_main extends SiteBill_Krascap {...} добавляем функцию getViewOptions, которая загружает СП для пользователя. Код функции копируем из http://pastebin.com/8rMZNU4U
     
    В функции main() производим вызов вставленной выше функции и загрузку цен на СП из конфигурации. Общий код изменений тут
    Блок А вставляем после строк
    $work_subcontroller='';$has_result=false;$undetected_url=false; Блоком Б заменяем блок
    if ( !$has_result && preg_match('/\/robox/', $_SERVER['REQUEST_URI']) ) {...} Блоком В дополняем ветвистость 
    if ( preg_match('/^account\/profile/', $REQUESTURIPATH) ) { перед последним }else{
     
    В файле header.tpl
     
    Добавляем кусочек, заносящий цены в переменные скриптов
    {literal}<script type="text/javascript">var _costs={/literal}{if $_costs ne ''}{$_costs}{else}[]{/if}{literal};</script>{/literal} Блок ставится в любом месте между тегами <head> и </head>
     
    В файле realty_view.tpl
     
    Фактически основные функциональные изменения, которые скрывают контактные данные.
    Находим блок, отображающий контактные данные и обрамляем его конструкцией 
    {if $smarty.session.viewOptions.mode=='opened'}<!--Тут собственно контактные данные-->{else}Оплатите доступ к данным или другая информация{/if} Настройка
     
    Руководящими настройками для работы СП являются настройка цен. Соответствие цен и длительности периодов указывается в переменной Настройки - Регистрация через SMS - Стоимость категорий (apps.registersms.costs_array). Значения задаются в виде строки
    {N1:P1}{N2:P2}{N3:P3}{N4:P4}{N5:P5} - где N- длительность периода. По-умолчанию в днях. Р- стоимость этого периода.
    Например:
    {1:70}{2:100}{3:150} мы предусматриваем открытие просмотров контактов в вариантах на 1, 2 или 3 дня с соответствующими стоимостями 70, 100 и 150 рублей.
     
    Кроме этого места необходимо еще указать допустимые периоды (продублировать) в обработчике СП - /template/frontend/шаблон/main/local_watchlistmanager.php. В этом файле необходимо найти функцию getWLModel() и в ней изменить строку 
    $form_data['period']['grade_values'] = array('1', '2', '3', '7', '31'); где указать наш перечень периодов
    $form_data['period']['grade_values'] = array('1', '2', '3'); Замечание
     
    Шаблон realia оборудован плагином-украшателем ezMark, который, не смотря на свою красивость, доказал несостоятельность при работе с элементами типа radio - кружочки с точечками в форме. Поскольку форма добавления СП использует именно такие элементы, а в остальных формах мы практически не используем их, то рекомендую сузить область работы этого плагина только элементами типа checkbox.
    Для этого в файле /template/frontend/realia/js/realia.js в функции InitEzmark() следует закомментировать строку
    $('input[type="radio"]').ezMark();
  22. Like
    Александр Лубянский изменил репутацию Дмитрий Кондин в Приоритетные города в форме выбора (поиск или добавление)   
    Зашел к вам в админку и не вижу дополнительного поля из этого шага ни в таблице city, ни в region
    2. Добавляем поле sort_order с типом safe_string, название даем "Порядок сортировки" (храниться в базе), сохраняем  
  23. Like
    Александр Лубянский изменил репутацию Дмитрий Кондин в Приоритетные города в форме выбора (поиск или добавление)   
    Если пропадают, значит поле не добавили
    2. Добавляем поле sort_order с типом safe_string, название даем "Порядок сортировки" (храниться в базе), сохраняем Либо покажите скриншот вашей таблицы city из редактора форм.
  24. Like
    Александр Лубянский изменил репутацию Дмитрий Кондин в Регионы и города РФ (+улицы)   
    Извиняюсь, действительно.
    Прикрепил улицы (в начале).
  25. Like
    Александр Лубянский изменил репутацию abushyk в Отдельная страница всех агентов   
    Если вы хотите создать статичную страницу, то следует учитывать, что как следует из ее названия, контент в ней статичен. Т.е. вы один раз наполняете контент и он не меняется со временем. Другими словами записали список агентов в тело страничи и, даже если в БД агентов станет больше, то это не отразится на вашей статичной странице.
    Если же вы хотите, что бы данные для списка брались напрямую из БД, т.е. динамично, то вариант со статичными страницами не подходит. В таком случае просто следует зарезервировать роут под эту страницу в файле main.php и под него вызывать функцию, которая создаст нужный вам список+подключит его вывод. Такие решения есть, например тут http://an-pdm.ru/workers , но они, в данный момент, не являются коробочными (их нет в базовой установке шаблонов).