Дмитрий Кондин

Экспорт объявлений в PDF (приложение)

Recommended Posts

С помощью этого приложения вы сможете экспортировать объявление в PDF-файл. И этот файл распечатать или отправить по почте. http://www.sitebill.ru/export-objavleniy-v-pdf

post-1-0-37872200-1392719238_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Допишите приложение, чтобы была возможность,  после проведения поиска - таблицу с главной  и таблицу Избранное экспортировать в pdf. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Допишите приложение, чтобы была возможность,  после проведения поиска - таблицу с главной  и таблицу Избранное экспортировать в pdf. 

В будущих версиях планируется, что это приложение будет универсальным генератором отчетов любого содержания.

Статистика, выборки, графики и т.д.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В ‎19‎.‎02‎.‎2014 в 10:42, rumantic сказал:

В будущих версиях планируется, что это приложение будет универсальным генератором отчетов любого содержания.

Статистика, выборки, графики и т.д.

Спешим поинтересоваться о дате выхода версий, в которых будут возможности? которые Вы упомянули?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 30.04.2016 в 04:31, Dmitrii сказал:

Спешим поинтересоваться о дате выхода версий, в которых будут возможности? которые Вы упомянули?

Сейчас добавили вывод карты месторасположения.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И еще вопросик , подскажите а как формируется pdf форма и как ее изменить, насколько сложно и как выводятся те или иные данные, слова, карты, телефоны и так далее. Приложить бы сюда примерный файл, чтобы понять нужно ли данное приложение и сможем ли мы его поменять самостоятельно
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Делается вывод через файл шаблона, аналогично с другими шаблонами

realty_view.tpl

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
14 часа назад, rumantic сказал:

Сейчас добавили вывод карты месторасположения.

Все обновил, местоположение не отобразилось, что нужно добавить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
8 часов назад, rumantic сказал:

Делается вывод через файл шаблона, аналогично с другими шаблонами

realty_view.tpl

Модуль печати не покупал, но возникли непонятки - содержимое этого шаблона надо пихать в realty_view.tpl что в шаблоне Realia или это одноименный realty_view.tpl в составе модуля вывода PDF ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
7 часов назад, Chernetskiy сказал:

Модуль печати не покупал, но возникли непонятки - содержимое этого шаблона надо пихать в realty_view.tpl что в шаблоне Realia или это одноименный realty_view.tpl в составе модуля вывода PDF ?

В отдельном каталоге лежит, с шаблонным realty_view.tpl не пересекается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
8 часов назад, Pavel88 сказал:

Все обновил, местоположение не отобразилось, что нужно добавить?

У вас локальный шаблон для PDF.

Зайдите в /template/frontend/realia/apps/pdfreport/realty_view.tpl

И добавьте такой код перед тегами </body></html>

{if $data.geo.value.lat!='' && $data.geo.value.lng!=''}
<table class="pg" border="0" cellpadding="0" cellspacing="0">
	<tr style="text-align: center;">
		<td><img src="https://static-maps.yandex.ru/1.x/?ll={$data.geo.value.lng},{$data.geo.value.lat}&size=600,350&z=14&l=map&pt={$data.geo.value.lng},{$data.geo.value.lat},round"></td>
	</tr>
</table>
{/if}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
10 часов назад, rumantic сказал:

У вас локальный шаблон для PDF.

Зайдите в /template/frontend/realia/apps/pdfreport/realty_view.tpl

И добавьте такой код перед тегами </body></html>


{if $data.geo.value.lat!='' && $data.geo.value.lng!=''}
<table class="pg" border="0" cellpadding="0" cellspacing="0">
	<tr style="text-align: center;">
		<td><img src="https://static-maps.yandex.ru/1.x/?ll={$data.geo.value.lng},{$data.geo.value.lat}&size=600,350&z=14&l=map&pt={$data.geo.value.lng},{$data.geo.value.lat},round"></td>
	</tr>
</table>
{/if}

 

Спасибо)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 04.05.2016 в 11:38, doma сказал:

и сможем ли мы его поменять самостоятельно

Из-за очень сильной специфичности верстки, хоть и хтмлем, но именно для ограниченных площадей, при этом не имея ни малейшего понятия о том, сколько места в принципе занимают эти объекты на странице, да еще и с учетом страничности пдф-документа, процесс сводится к мозговскипающему циклу "поменял-проверил-чертыхнулся-вернулся к первому пункту". Вместе с полным остуствием реализации WYSWYG процесс верстки под пдф жутко нудный и сказочно непредсказуемый. И да, половина привычных для веба стилей там просто не работает.

Но, в принципе, поменять самостоятельно сможете)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

но можно  же листовку отрывную сделать -с основными контактными телефонами и информацией из ДАТА ?
причем сделать 2 файла формы, и 2 кнопки в реалити вью, 1кнопка-стандартная pdf 2кнопка-листовка
 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Отрывная листовка - это как объявления у подъезда с корешками для отрыва?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Бывает в этом модуле не соответствие шрифтов. Тогда в некоторых описаниях объекта, вместо читаемого русского текста выводятся "знаки вопросов".

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да. нормально у него под кириллицу шрифты verdana и arial. Хотелось бы больше, но шрифты имеют колоссальный объем, поэтому число их ограничено.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Похожие публикации

    • Автор: viko777
      Здравствуйте.
      Я, Колкер Виктор Наумович - Частный риелтор.
      Служба в ВС СССР до 1991 г.
      Полковник в отставке.
      С 1992 г. Работал с недвижимостью в качестве Учредителя, Генерального директора нескольких ООО, ЗАО и ИП.
      С 2013 руководил одним из отделений ведущего АН в Москве.
      Помогу продать Вашу квартиру, и/или купить кв. по Вашему Бюджету, а также сдать, или снять кв. в Москве.
      Никаких Предоплат.
      Полностью сопровождаю всю Сделку от подбора Покупателя до подписания Акта Приема-Передачи.
      Моя комиссия составляет % от суммы Продажи Вашей кв-ры, но Никогда не больше 2%.
      При Покупке кв-ры моя комиссия Никогда не бывает выше 100.000 руб.
      Любая консультация по вопросам недвижимости – Бесплатно.
      Если у Вас уже есть Покупатель и/или Вам просто нужен Специалист для обеспечения Безопасности и сопровождение СДЕЛКИ, звоните, пишите - договоримся на Ваших условиях.
      Вы можете узнать всю информацию обо мне, набрав в любом браузере (поисковике) мои Ф.И.О., или адрес моей Эл.почты: 7983420@rambler.ru





    • Автор: Анна Иванна
      На сканере недвижимости http://www.etown.ru/  поступают данные от сайтов, на которых реально работают риэлторы. 
      Также подключен парсер объявлений с досок объявлений avito.ru, irr.ru, realty.yandex.ru, cian.ru, sob.ru, youla.io, n1.ru, egent.ru, mirkvartir.ru и moyareklama.ru
      1. Чтобы получить доступ к отсканированным собственникам регистрируемся тут https://www.etown.ru/

      2. Подключаем тариф Премиум

      3. После оплаты вы увидите это сообщение и переходим во вкладку База собственников

      4. Теперь у нас есть доступ к скрытым полям телефонов собственников



      Иконкой с глазом можно посмотреть подробности объекта, перейти на страничку объекта и посмотреть фотографии.
      5. Если нужно отфильтровать по определенному гороуд объявления, тогда используем фильтр как показано на скриншоте. Если вы не нашли объявления по своему городу напишите нам на почту dkondin@gmail.com и мы добавим ваш город в парсер.

      Можно добавлять в фильтр несколько городов

       
      Также есть сканер для объявлений с авито.
      Они сами зарегистрировались по партнерской программе тут.
      В чем преимущество etown.ru ?
      В том, что когда объявления попадают на сайт, то вы получаете обратно ссылку на ваш сайт. Таким образом увеличивается поток трафика.
       
      Основной поток квартир мы получаем с одного источника, исключающего информацию, размещённую агенствами. То есть, объявления от собственников. Сканер платный, 500р в месяц. Но, безумно выгодно. Огромнейшая экономия времени. За сутки сканер выдаёт нам 20-30 квартир (аренда), только по нашему городу. Автоматически. Только обновляй страницу. 
      http://rent-scaner.ru/
      Вот, собственно ссылка. У кого есть более дешёвые, бесплатные или альтернативные сайты - делитесь.

    • Автор: Дмитрий Кондин
      Агент недвижимости без парсера, это как таксист без автомобиля.
      Чтобы объять необъятное, нужно использовать инструменты для парсинга площадок с объявлениями недвижимости. Чем быстрее вы получите объявление от собственника, тем больше шанс совершить выгодную сделку.
      В этом видео я подробно рассказываю о том, как настраивается парсер и какой результат получает в итоге агентство недвижимости.
      Цены и условия приобретения тут https://www.sitebill.ru/ads-api-parser/
      Парсер недвижимости только для CMS Sitebill https://www.sitebill.ru/ 
    • Автор: Дмитрий Кондин
      Шаблон Ipotekus https://www.sitebill.ru/shablon-ipotekus
       
    • Автор: banzai72
      посоветуйте пожалуйста, что прописать в шаблоне PDF, что бы в нем было не одно фото а все(или несколько).
      Сейчас такой

       
      А нужно, что то такое

       
      Код у меня в шаблоне PDF такой:
      <html>
      <head>
      <meta http-equiv="content-type" content="text/html; charset=utf-8" />
      {literal}
      <style>
          @page { margin: 0px; }
          body { margin: 20px 20px 200px 20px; font-family: "verdana";  font-size: 14px;}
          .pg {
              width: 100%;
              /*border: 1px solid silver;*/
          }
          
          .title {
              font-size: 18px;
          }
          
          .optiontable {
              /*width: 290px;*/
              /*border: 1px solid silver;*/
              /*font-weight: bold;*/
              
          }
          
          .option {
          width: 330px;
          display: inline-block;
          }
          .option-paramscol {
              width: 140px;
              display: inline-block;
              text-align: left;
              font-weight: bold;
              padding-right: 20px;
          }
          
          .option-paramsval {
              width: 190px;
              display: inline-block;
          }
          
          .optiontable .paramscol {
              width: 150px;
              /*border: 1px solid silver;*/
              text-align: left;
              font-weight: bold;
              padding-right: 20px;
          }
          
          .optiontable .valuecol {
              width: 190px;
              /*border: 1px solid silver;*/
          }
          
          .photoblock div.img {
              /*float: left;
              width: 160px;
              border: 1px solid silver;*/
          }
          
          .imgsmall {
              display: inline-block;
              
              width: 160px;
              /*border: 1px solid silver;*/
              max-height: 100px;
              overflow: hidden;
              /*padding: 5px;*/
          }
          
          .imgbig {
              width: 320px;
              /*border: 1px solid silver;*/
              max-height: 300px;
              overflow: hidden;
              /*padding: 5px;*/
          }
          
      </style>
      {/literal}
      {assign var=this_item_key_mode value='hide'}
      {if $smarty.session.Accessor.mode=='free'}
          {assign var=this_item_key_mode value='open'}
      {elseif $smarty.session.Accessor.key!=''}
          {if $smarty.session.Accessor.is_key_ranged==1}
              {if in_array($data_shared.id.value, $smarty.session.Accessor.items)}
                  {assign var=this_item_key_mode value='open'}
              {/if}
          {elseif $smarty.session.Accessor.mode=='opened'}
              {assign var=this_item_key_mode value='open'}
          {elseif $smarty.session.Accessor.mode=='semiopened'}
              {if in_array($data_shared[$smarty.session.Accessor.limitedby].value, $smarty.session.Accessor[$smarty.session.Accessor.limitedby])}
                  {assign var=this_item_key_mode value='open'}
              {/if}
          {/if}
      {else}
          {assign var=this_item_key_mode value='have_no_keys'}
      {/if}

      </head>
      <body>
      <table class="pg">
          <tr>
              <td><img src="{$_core_folder}/template/frontend/real-spaces/images/logo.png" width="276px" height="45px"></td>
              <td style="text-align: right; font-weight: bold; font-size: 16px;">
              {if $data.user_id.value==46}{$data_shared.fio.value}{else}{if $data_shared.fio.value != ''}{$data_shared.fio.value}{else}{$user_data.fio.value}{/if}{/if}<br>
              
                                    {if $data.user_id.value==46 || $data.user_id.value==120}
                                          {if $this_item_key_mode=='open'}
                                              {if $data_shared.phone.value != ''}{$data_shared.phone.value}<br>{/if}
                                          {else}
                                              Контактные данные проверенных собственников скрыты. <a href="https://72realty.ru/access_select/" role="button" class="btn btn-danger btn-mini">Получить доступ</a><br>
                                          {/if} 
                                    {else}
                                    
                                    {if $data_shared.phone.value != ''}
                                      {$data_shared.phone.value}<br>
                                    {else}
                                      {if $user_data.phone.value != ''} {$user_data.phone.value}<br>{/if}
                                      {if $user_data.mobile.value != ''} {$user_data.mobile.value}<br>{/if}
                                      {if $user_data.email.value != ''}
                                      <a href="mailto:{$user_data.email.value}"> {$user_data.email.value}<br></a>
                                      {/if}
                                    {/if}
                                    {/if}
              
              
                  WEB: <a href="https://72realty.ru/">https://72realty.ru/</a>
              </td>
          </tr>
      </table>
      <hr />
      <table class="pg">
          <tr>
              <td style=" font-size: 18px;">
                  <b>ID:{$data.id.value}</b><br />
                  <span style="color:red">
                  {if $data.price_on_request.value==1}
                      <b>Цена по запросу</b>
                  {else}
                      <b>{$data.currency_id.value_string} {$data.price.value|number_format:0:'.':','}</b>
                  {/if}
                  </span>
              </td>
              <td style="text-align: right;">
                  
              </td>
          </tr>
      </table>
      <table class="pg">
          <tr>
              <td{if $photo|count>0} colspan="2"{/if}><h1 class="title">{$title}</h1></td>
          </tr>
          <tr>
          {if $photo|count>0}
              <td class="photoblock" style="width: 340px;">
                  <div class="imgbig"><img src="{$_core_folder}/img/data/{$photo[0].normal}" style="width: 320px;" /></div>
              </td>
              <td style="width: 340px;">
                  <table class="optiontable">
                      {foreach from=$hvd_tabbed item=tab key=tabname}
                          {if $tab|count>0}
                              {foreach from=$tab item=data_item}
                              
                                  {if $data_item.type eq "primary_key" or $data_item.value eq "0" or $data_item.value eq "" or $data_item.name eq "currency_id" or $data_item.name eq "export_cian" or $data_item.name eq "user_id" or $data_item.name eq "price"  or $data_item.name eq "youtube" or $data_item.type eq "hidden" or $data_item.name eq "text" or $data_item.type eq "geodata" or $data_item.name eq "meta_keywords"  or $data_item.name eq "meta_description" or $data_item.name eq "meta_title" or $data_item.type eq "uploads"}
                          
                                  {elseif $data_item.name eq "owner_fio" or $data_item.name eq "owner_phone" or $data_item.name eq "private_text" or $data_item.name eq "uniq_id" or $data_item.name eq "address"}
                                  {elseif $data_item.name eq "fio"}
                                      {assign var="agent_fio" value=$data_item.value}
                                  {elseif $data_item.name eq "phone"}
                                      {assign var="agent_phone" value=$data_item.value}
                                  {elseif $data_item.name eq "email"}
                                      {assign var="agent_email" value=$data_item.value}
                                  {elseif $data_item.type eq "select_by_query"}
                                      {if $data_item.value_string!=''}
                                          <tr><td class="paramscol">{$data_item.title}</td><td>{$data_item.value_string}</td></tr>
                                      {/if}
                                  {elseif $data_item.type eq "select_box_structure"}
                                      {if $data_item.value_string!=''}
                                          <tr><td class="paramscol">{$data_item.title}</td><td>{$data_item.value_string}</td></tr>
                                      {/if}
                                  {elseif $data_item.type eq "checkbox"}
                                      {if $data_item.name ne 'hot' and $data_item.name ne 'active'}
                                          {if $data_item.value eq 1}
                                              <tr><td class="paramscol">{$data_item.title}</td><td><input type="checkbox" checked="checked" disabled="disabled" /></td></tr>
                                          {/if}
                                      {/if}            
                                  {elseif $data_item.type eq "select_box"}
                                      {if $data_item.value_string!=''}
                                          <tr><td class="paramscol">{$data_item.title}</td><td>{$data_item.value_string}</td></tr>
                                      {/if}
                                  {elseif $data_item.type eq "tlocation"}
                                      <tr><td class="paramscol">{$data_item.title}</td><td>{$data_item.tlocation_string}</td></tr>
                                  {else}
                                      {if $data_item.value!=''}
                                          {if $data_item.name eq "text"}
                                              <tr><td class="paramscol">{$data_item.title}</td><td>{$data_item.value|nl2br}</td></tr>
                                          {else}
                                              <tr><td class="paramscol">{$data_item.title}</td><td>{if is_array($data_item.value)}{$data_item.value|implode:','}{else}{$data_item.value}{/if}</td></tr>
                                          {/if}
                                      {/if}
                                  {/if}
                              
                              {/foreach}
                          {/if}
                      {/foreach}
                  </table>
                  
              </td>
          {else}
          
          
              
          
          <td style="width: 680px;">
              {assign var=x value=array()}
                  
                      
              {foreach from=$hvd_tabbed item=tab key=tabname}
                          {if $tab|count>0}
                              {foreach from=$tab item=data_item}
                              
                                  {if $data_item.type eq "primary_key" or $data_item.value eq "0" or $data_item.value eq "" or $data_item.name eq "currency_id" or $data_item.name eq "export_cian" or $data_item.name eq "user_id" or $data_item.name eq "price"  or $data_item.name eq "youtube" or $data_item.type eq "hidden" or $data_item.name eq "text" or $data_item.type eq "geodata" or $data_item.name eq "meta_keywords"  or $data_item.name eq "meta_description" or $data_item.name eq "meta_title" or $data_item.type eq "uploads"}
                          
                                  {elseif $data_item.name eq "fio"}
                                      {assign var="agent_fio" value=$data_item.value}
                                  {elseif $data_item.name eq "phone"}
                                      {assign var="agent_phone" value=$data_item.value}
                                  {elseif $data_item.name eq "email"}
                                      {assign var="agent_email" value=$data_item.value}
                                  {elseif $data_item.type eq "select_by_query"}
                                      {if $data_item.value_string!=''}
                                          {append var=x value=$data_item.title}
                                          {append var=x value=$data_item.value_string}
                                      {/if}
                                  {elseif $data_item.type eq "select_box_structure"}
                                      {if $data_item.value_string!=''}
                                          {append var=x value=$data_item.title}
                                          {append var=x value=$data_item.value_string}
                                      {/if}
                                  {elseif $data_item.type eq "checkbox"}
                                      {if $data_item.name ne 'hot' and $data_item.name ne 'active'}
                                          {if $data_item.value eq 1}
                                              {append var=x value=$data_item.title}
                                              {append var=x value='<input type="checkbox" checked="checked" disabled="disabled" />'}
                                          {/if}
                                      {/if}            
                                  {elseif $data_item.type eq "select_box"}
                                      {if $data_item.value_string!=''}
                                          {append var=x value=$data_item.title}
                                          {append var=x value=$data_item.value_string}
                                      {/if}
                                  {elseif $data_item.type eq "tlocation"}
                                      {append var=x value=$data_item.title}
                                      {append var=x value=$data_item.tlocation_string}
                                  {else}
                                      {if $data_item.value!=''}
                                          {if $data_item.name eq "text"}
                                              {append var=x value=$data_item.title}
                                              {append var=x value=$data_item.value|nl2br}
                                          {else}
                                              {append var=x value=$data_item.title}
                                              {if is_array($data_item.value)}
                                                  {append var=x value=$data_item.value|implode:','}
                                              {else}
                                                  {append var=x value=$data_item.value}
                                              {/if}
                                          {/if}
                                      {/if}
                                  {/if}
                              
                              {/foreach}
                          {/if}
                      {/foreach}
                      
                      {assign var=cnt value=($x|count-1)}
                      {assign var=i value=0}
                      <table class="optiontable">
                      {while $i <= $cnt}
                          {if isset($x[$i])}
                              <tr>
                              <td class="paramscol">{$x[$i]}</td><td class="valuecol">{$x[$i+1]}</td>
                              {if isset($x[$i+2])}
                              <td class="paramscol">{$x[$i+2]}</td><td class="valuecol">{$x[$i+3]}</td>
                              {else}
                              <td class="paramscol"></td>
                              {/if}
                              </tr>
                          {/if}
                          {assign var=i value=$i+4}
                      {/while}
                      
                      
                      </table>
          
              </td>
          
          {/if}
              
          </tr>
          
          
      </table>
      <table class="pg">
          {if $data.text.value ne ''}
          <tr>
              <td>{$data.text.value}</td>
          </tr>
          {/if}
                  
      </table>
      {if $data.geo.value.lat!='' && $data.geo.value.lng!=''}
      <table class="pg" border="0" cellpadding="0" cellspacing="0">
          <tr style="text-align: center;">
              <td><img src="https://static-maps.yandex.ru/1.x/?ll={$data.geo.value.lng},{$data.geo.value.lat}&size=600,350&z=14&l=map&pt={$data.geo.value.lng},{$data.geo.value.lat},round"></td>
          </tr>
      </table>
      {/if}

      </body></html>