AlekseyLego

Кнопка "Редактировать" на странице объекта

Recommended Posts

Шаблон Realia.

 

Возможно ли на страницу с описанием объекта добавить кнопку "Редактировать объект / описание", которая позволяла бы быстро переходить к самому редактированию и была бы доступна только после авторизации на сайте?

 

ПС.

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

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


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

Берем файл

/template/frontend/realia/realty_view.tpl

 

Добавляем код

{if $data.user_id.value eq $smarty.session.user_id}<a href="{$estate_folder}/account/data/?do=edit&id={$data.id.value}">Редактировать</a>{/if}

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


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

 

Берем файл

/template/frontend/realia/realty_view.tpl

 

Добавляем код

{if $data.user_id.value eq $smarty.session.user_id}<a href="{$estate_folder}/account/data/?do=edit&id={$data.id.value}">Редактировать</a>{/if}

А как-бы фразу "Редактировать" при этом заменить на карандаш (как в админке) и желательно добавить еще кнопки "Удалить" и "В архив" (не активно), чтобы не совсем удалять, бывает необходимо при аренде объектов, когда удалять смысла нет, т.к. вскоре придется по новой выставлять в рекламу.

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


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

У себя решил сделать так:

добавил в realty_view.tpl в класс favblock, следом за звездочкой "Избранное", после кнопки Печать в PDF (её тоже поправил):

 

      {if $apps_pdfreport_enabled==1}
      <a title="Печать" href="?format=pdf" class="btn btn-info"><i class="icon-white icon-print"></i></a>
      {/if}
      
      {if $data.user_id.value eq $smarty.session.user_id}
      <a title="Редактировать" href="{$estate_folder}/account/data/?do=edit&id={$data.id.value}" class="btn btn-info"><i class="icon-white icon-pencil"></i></a>
      {/if}
      
      {if $data.user_id.value eq $smarty.session.user_id}
      <a title="Удалить" href="{$estate_folder}/account/data/?do=delete&id={$data.id.value}" class="btn btn-danger"><i class="icon-white icon-remove"></i></a>
      {/if}
 
Вроде получилось как в админке и работает... Сильно не ругайте, мои познания на уровне церковно-приходской школы :)

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


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

На оборот, только приветствуется! Подсказали пользователям один из вариантов оформления.

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


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

У себя решил сделать так:

добавил в realty_view.tpl в класс favblock, следом за звездочкой "Избранное", после кнопки Печать в PDF (её тоже поправил):

 

      {if $apps_pdfreport_enabled==1}
      <a title="Печать" href="?format=pdf" class="btn btn-info"><i class="icon-white icon-print"></i></a>
      {/if}
      
      {if $data.user_id.value eq $smarty.session.user_id}
      <a title="Редактировать" href="{$estate_folder}/account/data/?do=edit&id={$data.id.value}" class="btn btn-info"><i class="icon-white icon-pencil"></i></a>
      {/if}
      
      {if $data.user_id.value eq $smarty.session.user_id}
      <a title="Удалить" href="{$estate_folder}/account/data/?do=delete&id={$data.id.value}" class="btn btn-danger"><i class="icon-white icon-remove"></i></a>
      {/if}
 
Вроде получилось как в админке и работает... Сильно не ругайте, мои познания на уровне церковно-приходской школы :)

Дописать бы еще в условие чтобы из группы Админов можно было редактировать любое объявление

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


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

Вот текущий вариант, позволяет владельцу объявления редактировать его:

<div class="editblock">
    <a title="На главную" href="/" class="btn btn-info"><i class="icon-white icon-home"></i></a>
    <a title="Назад" href="#" onclick="history.back();return false;" class="btn btn-info"><i class="icon-white icon-chevron-left"></i> Назад</a>
    <a title="Рассчитать и оставить заявку на ипотеку" href="https://unicom24.ru/ipoteka_v3/?key=psrgeownkatwkimeumbjrrfotnbzxjkc" target="_blank" class="btn btn-info"><i class="icon-white icon-shopping-cart"></i> Рассчитать ипотеку</a>
    {if $apps_pdfreport_enabled==1}
    <a title="Печать PDF" href="?format=pdf" class="btn btn-info"><i class="icon-white icon-print"></i></a>
    {/if}
    <a title="Печать" href="#" onClick="window.print()" class="btn btn-info"><i class="icon-white icon-print"></i></a>
    {if $data.user_id.value eq $smarty.session.user_id}
    <a title="Редактировать" href="{$estate_folder}/account/data/?do=edit&id={$data.id.value}" class="btn btn-warning"><i class="icon-white icon-pencil"></i></a>
    <a title="Удалить" href="{$estate_folder}/account/data/?do=delete&id={$data.id.value}" class="btn btn-danger"><i class="icon-white icon-remove"></i></a>
	{/if}
  </div>

Кнопки "Печать", "редактировать" и "удалить" появляются только при просмотре зарегистрированным пользователем - владельцем объявления.

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

Константин... как правильно дописать возможность правки объявления админом из фронтэнда ? Пока мы не накосячили :)

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


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

Игорь! Посмотрел у Вас на сайте кнопку Печать Pdf... это вот сам модуль так генерирует? 

http://joxi.ru/jnAyMXocdYdPAZ

------------------------------------------

P.S. А то мы то можем!))))

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


Ссылка на сообщение
Поделиться на других сайтах
4 минуты назад, Александр Лубянский сказал:

Игорь! Посмотрел у Вас на сайте кнопку Печать Pdf... это вот сам модуль так генерирует? 

http://joxi.ru/jnAyMXocdYdPAZ

------------------------------------------

P.S. А то мы то можем!))))

Ну да, у меня просто модуля печати PDF нет, вот и сделал полумеру. При наличии модуля, подключится другая кнопка печати, а полумеру можно убрать.

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


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

Для тех, кто предполагает печать своих страниц стандартными средствами браузера есть вариант создания и подключения файла стилей print.css в виде

<link rel="stylesheet" type="text/css" media="print" href="{$estate_folder}/template/frontend/ШАБЛОН/css/print.css">

Такой файл обычно состоит минимум из одного стиля

.noprint {
 display: none; 
}

После этого класс noprint раскидывается на те элементы страницы, которые по вашему мнению не должны светиться на печати - кнопки заказов и шары, списки похожих и спецпредложений, навигация в шапке и прочая. Браузеры вполне понимают этот файл и нормально подключают его перед рендером страницы на печать, что позволяет скрыть с печатной страницы большую часть мусора непотребного на бумажном варианте.

ПС. Естественно там кроме одного стиля можно насоздавать море других, которые вполне себе могут прикольно видоизменить страницу под печать по отношению к странице в браузере.

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


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

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

... кроме одного стиля можно насоздавать море других, которые вполне себе могут прикольно видоизменить страницу под печать по отношению к странице в браузере.

Константин, объясни чайнику, как например убрать некоторые ненужные элементы при печати, что конкретно прописать, если надо убрать футер, спецпредложения и прочую не нужную шелуху например с этой страницы

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


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

Суть в том, что если подключить файл стилей так как я аписал с указанием 

media="print"

то браузер будет использовать стили из єтого файла только ксли нажать кнопку Печать в браузере. Определив в нем некоторый класс, который будет иметь свойство 

display: none; 

т.е. невидимость, мы получим эффкт, что при выводе в печать элементы с этим классом будут невидимы на страницы, но в то же время будут видны во всех остальных случаях.

Для реалии невидимость сразу можно вешать на breadcrumb-wrapper header-wrapper navigation footer-wrapper и форму поиска

Центральный контент менее однозначен. Для списков можно убирать правую колонку, для карточки в правой есть контакты. Но тут можно сделать ход конем, так как в стиля для печати можно не только указать, что скрыть, но и показать скрытое. Например мы вестаем карточку как обычно. Но делаем дополнительнй блок сразу под описанием с еще одним выводом контактов. И ставим на этот блок display:none; Теперь он у нас есть на странице, но не показан в браузере. Добавим єтому блоку класс printable и в файле стиле печати опишем его как

.printable {
 display: block !important; 
}

из-за чего при печати этот блок будет показан. А правую колонку для печати можно скрыть совсем.

Если кто-то поймет эту логику, то спокойно сможет организовать вывод картинок для печати в виде нормальных миниатюр заместо пустого места от скриптовой галереи.

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


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

У себя решил сделать так:

добавил в realty_view.tpl в класс favblock, следом за звездочкой "Избранное", после кнопки Печать в PDF (её тоже поправил):

 

      {if $apps_pdfreport_enabled==1}
      <a title="Печать" href="?format=pdf" class="btn btn-info"><i class="icon-white icon-print"></i></a>
      {/if}
      
      {if $data.user_id.value eq $smarty.session.user_id}
      <a title="Редактировать" href="{$estate_folder}/account/data/?do=edit&id={$data.id.value}" class="btn btn-info"><i class="icon-white icon-pencil"></i></a>
      {/if}
      
      {if $data.user_id.value eq $smarty.session.user_id}
      <a title="Удалить" href="{$estate_folder}/account/data/?do=delete&id={$data.id.value}" class="btn btn-danger"><i class="icon-white icon-remove"></i></a>
      {/if}
 
Вроде получилось как в админке и работает... Сильно не ругайте, мои познания на уровне церковно-приходской школы :)

Спасибо. По вашему совету сделал так

<div class="row">
        {if $data.user_id.value eq $smarty.session.user_id}
    <a style="margin-bottom:3px;" class="btn" href="{$estate_folder}/upper/realty{$data.id.value}"><i class="icon-black icon-chevron-up"></i>Поднять (обновить)</a>
      {/if}
      
      {if $data.user_id.value eq $smarty.session.user_id}
    <a href="{$estate_folder}/account/data/?do=edit&id={$data.id.value}" id="recallMeButton" role="button" class="btn btn-info" data-toggle="modal" rel="nofollow"><i class="icon-white"></i> Редактировать</a>
      {/if}
      
      {if $data.user_id.value eq $smarty.session.user_id}
      <a href="{$estate_folder}/account/data/?do=delete&id={$data.id.value}" id="recallMeButton" role="button" class="btn btn-danger btn-mini recallMe-top" data-toggle="modal" rel="nofollow"><i class="icon-white"></i> Удалить</a>
      {/if}

 

Потом ещё планирую добавить Vip и Выделение

Ну и с архивом было бы не плохо :)

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


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

Сделал вот как

Может кому пригодится

{if $smarty.session.user_id!=$user_data.user_id.value && $mailbox_on==1}
                                    {include file=$apps_mailbox_block title_data=[$data.topic_id.value_string,$data.city_id.value_string,$data.street_id.value_string] to=$user_data.user_id.value message_to_author_title='Написать'}
                                   {/if}
                               
                            {if $data.user_id.value eq $smarty.session.user_id}
      <a href="{$estate_folder}/account/data/?do=delete&id={$data.id.value}" id="recallMeButton" role="button" class="btn btn-danger btn-block btn-mini recallMe-top" data-toggle="modal" rel="nofollow"><i class="icon-white"></i> Удалить</a>
      {/if}
                            
                            {if $data.user_id.value eq $smarty.session.user_id}
    <a href="{$estate_folder}/account/data/?do=edit&id={$data.id.value}" id="recallMeButton" role="button" class="btn btn-info btn-block" data-toggle="modal" rel="nofollow"><i class="icon-white"></i> Редактировать</a>
      {/if}
      
      {if $data.user_id.value eq $smarty.session.user_id}
    <a style="margin-bottom:3px;" class="btn btn-block btn-primary" href="{$estate_folder}/upper/realty{$data.id.value}"><i class="icon-black icon-chevron-up"></i>Поднять (обновить)</a>
      {/if}

_________________________________

Теперь если это Ваш объект вы будете видеть эти кнопки:

 

2.jpg.d594eef87ec64a9dd1c4224c6f871809.jpg

 

А если не Ваш то вот эти

 

1.jpg.0c1739f48d2377f10c880ab0aefea4b8.jpg

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


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

;)

А ПРО КНОПКУ УБРАТЬ В АРХИВ ЕЩЁ НИКТО НЕ ДОГАДАЛСЯ?

ПОДСКАЖИТЕ ЕСЛИ КТО ЗНАЕТ И НЕ ЖАЛКО?)

;)

Или просто ссылочку на такое чуда может кто подскажет............?))

В кнопку вставить то не долго

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


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

Алексей, кнопка "Удалить" по сути и выполняет функцию архивирования, есть еще в Настройках->Дополнительно ряд параметров:

  • Использовать предудаление для объявлений (apps.realty.use_predeleting) -  полное удаление через модерацию
  • Архивированные объявления полностью не доступны (apps.realty.archived_notactive) - закрыть пользователю доступ к архивным объектам
  • Открыть доступ к неактивным объектам по прямой ссылке (apps.realty.allow_notactive_direct) - архивные объекты на сайте не показываются но доступны по прямым ссылкам, чтобы не плодить кучу битых ссылок из соцсетей, сторонних сайтов и т.п., куда могли быть дополнительно размещены объекты со ссылками на них.

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


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

Алексей, кнопка "Удалить" по сути и выполняет функцию архивирования, есть еще в Настройках->Дополнительно ряд параметров:

  • Использовать предудаление для объявлений (apps.realty.use_predeleting) -  полное удаление через модерацию
  • Архивированные объявления полностью не доступны (apps.realty.archived_notactive) - закрыть пользователю доступ к архивным объектам
  • Открыть доступ к неактивным объектам по прямой ссылке (apps.realty.allow_notactive_direct) - архивные объекты на сайте не показываются но доступны по прямым ссылкам, чтобы не плодить кучу битых ссылок из соцсетей, сторонних сайтов и т.п., куда могли быть дополнительно размещены объекты со ссылками на них.

у вас работает?

У меня при использовании apps.realty.use_predeleting пишет Доступ запрещен

..........Нашел, это вообще включать нельзя :)

img5a95981ceb90f_1519753244_1.jpg.cde3b547f908e2a76feaedd34d284029.jpg

 

 

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


Ссылка на сообщение
Поделиться на других сайтах
В 28.02.2018 в 09:43, 72realty сказал:

Нашел, это вообще включать нельзя

Но так как все включали, то стало как бы можно.

 

В 28.02.2018 в 09:43, 72realty сказал:

У меня при использовании apps.realty.use_predeleting пишет Доступ запрещен

В каком месте или по какому действию? Для этой опции так же необходимо иметь в модели объекта поле с системным именем archived типа checkbox с доступом только для админа.

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


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

Но так как все включали, то стало как бы можно.

 

В каком месте или по какому действию? Для этой опции так же необходимо иметь в модели объекта поле с системным именем archived типа checkbox с доступом только для админа.

Отлично! Спасибо! Я не знал, что нужно archived

Всё работает!

Не подскажите, в real-spaces ответ на вопрос по архиву для сотрудников ещё не найден?

Что бы сотрудник мог сам убрать в архив, а когда сново нужен этот объект достать из архива

А то сейчас не активные объекты находятся там же где и активные и никак не отличаются от активных

А то из-за особенностей нашего шаблона даже эта функция становиться бесполезной.

Эти объекты попадают в Архив в админке, но всё равно видны у пользователей во вкладке "Мои объявления" /account/data/ как и все активные

То есть в общем списке и ни как не отличаются от активных

 

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


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

Берем файл

/template/frontend/realia/realty_view.tpl

 

Добавляем код


{if $data.user_id.value eq $smarty.session.user_id}<a href="{$estate_folder}/account/data/?do=edit&id={$data.id.value}">Редактировать</a>{/if}

Какое условие добавить, чтобы иметь доступ админу через фронтэнд

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


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

Архивность сделал, но почему-то функция на обратный эффект не сработала. Т.е. объявление пользователь удалил, оно попало в архивное, выпало из ленты и доступно только по прямой ссылки. А как его полностью удалить с сайта, не прибегая к Архивированные объявления полностью не доступны ?

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


Ссылка на сообщение
Поделиться на других сайтах
В 03.01.2019 в 23:37, mykvartira сказал:

Архивность сделал, но почему-то функция на обратный эффект не сработала. Т.е. объявление пользователь удалил, оно попало в архивное, выпало из ленты и доступно только по прямой ссылки. А как его полностью удалить с сайта, не прибегая к Архивированные объявления полностью не доступны ?

В админке удалите его.

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


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

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

Мне кажется в редакторе форм нужно какую-то  кнопулю нажать.

2019-01-09_115117.jpg

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


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

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

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

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

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

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

Войти

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

Войти сейчас