AlekseyLego

Небольшая админка

Recommended Posts

HolodMoroz.ru

 

Сейчас:

1. В карточке объекта отображается только публичная информация.

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

3. Эта схема позволяет удобно хранить всю публичную и не публичную информацию по одному объекту, но не позволяет с ней удобно работать (и иметь ней доступ!) по всем объектам.

 

Надо:

1. Создать отдельную страницу, доступ к которой будет иметь только администратор сайта, на которой будет в простой и понятной форме (в виде таблицы) выводить ВСЮ информацию из базы.

2. Таблица должна выводить такую информацию как:

Номер ID, раздел сайта, подраздел сайта, характеристика 1, характеристика 2, характеристика 3 и тд. + ссылка "редактировать лот".

Всё, как это реализовано на карточке объекта, но в сильно упрощённой форме, только текст по горизонтали.

3. Таблица своим видом должна максимально напоминать обычный лист Эксель.

 

Пример 1:

Настроить вывод всех адресов всех объектов на одной странице.

 

Пример 2:

Настроить отображение всех характеристик всех объектов на одной странице.

 

С Вас цена и сроки.

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


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

3. Таблица своим видом должна максимально напоминать обычный лист Эксель.

Если не подразумевается из предложенной вами формы производить редактирование, так чего не воспользоваться модулем загрузки-выгрузки в Эксель? Вы получите готовую таблицу в xls формате со всеми вытекающими возможностями работы и обработки в Экселе. Создавая предложенную вами форму, вы получите тоже самое, только в неудобном виде даже для чтения, ведь база может содержать полсотни позиций и куда все эти колонки влезут на странице сайта?

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


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

Если не подразумевается из предложенной вами формы производить редактирование, так чего не воспользоваться модулем загрузки-выгрузки в Эксель? Вы получите готовую таблицу в xls формате со всеми вытекающими возможностями работы и обработки в Экселе. Создавая предложенную вами форму, вы получите тоже самое, только в неудобном виде даже для чтения, ведь база может содержать полсотни позиций и куда все эти колонки влезут на странице сайта?

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

Поясню по другому.

Открываем любую страницу с любым лотом, к примеру: http://holodmoroz.ru/arenda/realty196/

Есть с данной страницы удалить всё лишнее -- шапку, подвал, блок "спецразмещение", фотографии и тд, то у нас останется только центральный блок (realty_view.tpl), в основе которого лежит простая ХТМЛ-таблица в ячейки которой _вертикально_ выводятся все атрибуты _одного_ объекта.

Надо переверстать данную таблицу, что бы информация отображалась

1. горизонтально, как в листе Эксель

2. содержала информацию о более чем одном объекте

3. результат отображался по отдельному адресу. К примеру: holodmoroz.ru/tablica

Понятно объяснил? )

 

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


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

т.е. по сути, указанная вами страница должна отобразиться в одной строке? :blink: Или предполагается оставить только основные параметры?

Я к тому, что может быть подойдет вариант списка как на странице "Мои объявления" у залогиненного пользователя? Там по сути можно код практически 1 в 1 перенести на нужную вам страницу генерации. Вот например вариант (кусок в красной рамке):

список.png

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


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

т.е. по сути, указанная вами страница должна отобразиться в одной строке? :blink: Или предполагается оставить только основные параметры?

Я к тому, что может быть подойдет вариант списка как на странице "Мои объявления" у залогиненного пользователя? Там по сути можно код практически 1 в 1 перенести на нужную вам страницу генерации. Вот например вариант (кусок в красной рамке):

список.png

Да. В одну строку. 

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

 

Предлоденный вами вариант со страницей  "Мои объявления" тоже интересен. 

Но есть ряд "но":

1. Главная задача: всегда иметь под рукой свою базу для просмотра её на небольших экранах телефона или нетбука. Отсюда и отсыл к визуальному офрмлению в стиле Эксель. 

Если данную страницу можно упростить, сделать меньше отступы от границы таблицы, убрать картинки и вынести её на отдельный адрес, то это тоже рабочий вариант. 

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


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

Ну если вариант со скриншотом подходит, то можно взять за основу этот шаблон - apps/admin/admin/template1/realty_grid.tpl (таблица объявлений в админке) или это - template/frontend/realia/realty_grid_account.tpl (Мои объявления на скриншоте). Только перед экспериментами сохрани исходники :) 

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


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

Уважаемый, мои знания в данной теме ограничиваются основами ХТМЛ, и прокачивать свой скил, в данной области, мне некогда и не интересно.

Я разместил три объявления в разделе "Фриланс", что бы найти человека, который снимет с меня головную боль о решении этих и последующих, элементарных для здесь присутствующих, задач. 

За деньги.

Ап.

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


Ссылка на сообщение
Поделиться на других сайтах
В 28.01.2017 в 15:58, Aleksey Lego сказал:

1. Главная задача: всегда иметь под рукой свою базу для просмотра её на небольших экранах телефона или нетбука. Отсюда и отсыл к визуальному офрмлению в стиле Эксель.

1. все обяъявления в базе принадлежат одному юзеру и юзер этот админ? (от того зависит можно ли использовать функционал ЛК или нет)

2имхо. табличные верстки как раз самые неудачные для просмотров на небольших экранах

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


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

1. все обяъявления в базе принадлежат одному юзеру и юзер этот админ? (от того зависит можно ли использовать функционал ЛК или нет)

2имхо. табличные верстки как раз самые неудачные для просмотров на небольших экранах

1. В данный момент сайты наполняются разными людьми. Но потом я изменю автора на админа. 

Да, можно. 

2. Намного неудобнее хранить всю информацию локально в Экселе, имея к ней доступ только через ДропБокс. + хранить часть информации по объектам в карточке объекта на сайте. 

Цель проста: 

1. Запихнуть всё на сайт. Перестать пользоваться Экселем. Иметь полный доступ ко всей инфе с телефона он-лайн (в том числе к обновлению и правкам объектов). 

2. Сделать несколько таблиц-админок: вся инфа базы, название+контакты, все склады класса А, все склды региона и тд. 

Удобно иметь к ним доступ с любого устройства. 

Иметь полнотекстовый поиск по всей базе (Контрол + Ф). 

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


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

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

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

С таким-же успехом можно выгружать базу файлом Эксель (приложение Эксель) и пользоваться ею отдельно от сайта, удобство будет таким-же. Но в варианте с Grid Manager можно хотя-бы вывести в таблицу не всё а нужное, и с неё переходить на все детали объявления (режим просмотра).

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


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

В помощь тому, кто возьмется делать (пример на базе realia).

1. в main.php шаблона столбим адрес обработчика

if ( !$has_result && $REQUESTURIPATH=='tables' ) {
// выбираем текущий гриддер
				$grid_constructor = $this->_getGridConstructor(); 
//собираем параметры из запроса. это нуно толко для того что бы взять из запроса страницу или если используются сортировки-фильтровки
				$params=$this->gatherRequestParams(); 
//жестко ставим юзера-владельца
$params['user_id']=intavl($_SESSION['user_id']);
//указываем страницу отсчета
				$params['pager_url']=$REQUESTURIPATH;
// собираем список
				$res = $grid_constructor->get_sitebill_adv_ext( $params, false, false );
//гоу в шаблон				
				$this->template->assign('tables_grid_items', $res);
//указываем кастомный макет	и шаблон вывода списка
				$this->template->assert('main_file_tpl', 'realty_grid_tables.tpl');

				$work_subcontroller='tables';
				$has_result=true;
			}
		

2. В main.php дополняем блок $layouts новым макетом (в realia layout_full.tpl - это макет на всю ширину страницы без предустановленных колонок. т.е. вывод в этот макет будет на всю ширину сайта)

'tables'=>'layout_full.tpl'

3. Создаем realty_grid_tables.tpl

Основой может быть тот же шаблон ЛК, только вместо $grid_items используем $tables_grid_items

Ориентировочный пример

<table class="content_main table" cellspacing="2" cellpadding="2">
    <tr  class="row_head">
        <td width="1%" class="row_title">{$L_DATE}</td>
        <td width="1%" class="row_title">{$L_ID}</td>
        <td width="1%" class="row_title">{$L_PHOTO}</td>
        <td width="70" class="row_title">{$L_TYPE}&nbsp;<a href="{$url}&order=type&asc=asc">&darr;</a>&nbsp;<a href="{$url}&order=type&asc=desc">&uarr;</a></td>
        <td width=13% class="row_title">{$L_CITY}&nbsp;<a href="{$url}&order=city&asc=asc">&darr;</a>&nbsp;<a href="{$url}&order=city&asc=desc">&uarr;</a></td>
        <td width=13% class="row_title">{$L_DISTRICT}&nbsp;<a href="{$url}&order=district&asc=asc">&darr;</a>&nbsp;<a href="{$url}&order=district&asc=desc">&uarr;</a></td>
        <td width=13% class="row_title">{$L_STREET}&nbsp;<a href="{$url}&order=street&asc=asc">&darr;</a>&nbsp;<a href="{$url}&order=street&asc=desc">&uarr;</a></td>
        <td class="row_title" nowrap>{$L_PRICE}&nbsp;<a href="{$url}&order=price&asc=asc">&darr;</a>&nbsp;<a href="{$url}&order=price&asc=desc">&uarr;</a></td>
        <td class="row_title">{$L_FLOOR}</td>
        <td class="row_title">{$L_SQUARE} м<sup>2</sup></td>
        {if $admin !=''}
        <td class="row_title"></td>
        {/if}
    </tr>
    {foreach name=i from=$tables_grid_items item=tables_grid_item}

    <tr valign="top" class="row3{if isset($tables_grid_item.export_cian) && $tables_grid_item.export_cian==1} cianexported{/if}" {if $tables_grid_item.active == 0}style="color: #ff5a5a;"{/if}>
        
        <td><b><a href="{$tables_grid_item.href}">{$tables_grid_item.date}</a></b></td>
        <td><b><a href="{$tables_grid_item.href}">{$tables_grid_item.id}</a></b></td>
        <td align="center">
        {if $tables_grid_item.img != '' } 
        <a href="{$tables_grid_item.href}"><img src="{$estate_folder}/img/data/{$tables_grid_item.img[0].preview}" width="50"></a> 
        <!-- img src="{$estate_folder}/img/hasphoto.jpg" border="0" width="16" height="14" /--> 
        {/if}
        </td>
        <td><b>{$tables_grid_item.type_sh}</b></td>
        <td>{$tables_grid_item.city}</td>
        <td>{$tables_grid_item.district}</td>
        <td>{$tables_grid_item.street}</td>
        <td nowrap><b>{$tables_grid_item.price|number_format:0:",":" "} {if $tables_grid_item.currency_name != ''}{$tables_grid_item.currency_name}{/if} {if $tables_grid_item.currency != 'RUR'}({$tables_grid_item.price_ue} {$L_RUR_SHORT}){/if}</b></td>
        <td>{$tables_grid_item.floor}/{$tables_grid_item.floor_count}</td>
        <td>{$tables_grid_item.square_all}/{$tables_grid_item.square_live}/{$tables_grid_item.square_kitchen}</td>
        {if $admin !=''}
        <td nowrap>
        <a class="btn btn-small btn-info" href="{$estate_folder_control}?do=edit&id={$tables_grid_item.id}"><i class="icon-white icon-pencil"></i></a>
				        	<a class="btn btn-small btn-danger" onclick="return confirm('{$L_MESSAGE_REALLY_WANT_DELETE}');" href="{$estate_folder_control}?{if $topic_id != ''}topic_id={$topic_id}&{/if}do=delete&id={$tables_grid_item.id}"><i class="icon-white icon-remove"></i></a>
        </td>
        {/if}
        
    </tr>
    
    {/foreach}

    {if $pager != ''}
    <tr>
        <td colspan="11" class="pager">{$pager}</td>
    </tr>
    {/if}
</table>

 

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


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

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

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

С таким-же успехом можно выгружать базу файлом Эксель (приложение Эксель) и пользоваться ею отдельно от сайта, удобство будет таким-же. Но в варианте с Grid Manager можно хотя-бы вывести в таблицу не всё а нужное, и с неё переходить на все детали объявления (режим просмотра).

Таблица должна быть доступна только мне.

Вы правильно поняли. Наполняют разные люди, но потом я меняю автора и становлюсь единственным, кто видит всю закрытую информацию (контакты, комментарии и тд).

К сожалению через редактор форм это реализовать невозможно, так как количество строк в админке равно количеству объявлений на первой странице. Почему эти, совершенно не связанные между собой вещи, напрямую зависят друг от друга, мне непонятно. Ровно как непонятно зачем в админке сделаны такие большие отступы от края таблицы и всё выделено жирным цветом.

 

 

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


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

К сожалению через редактор форм это реализовать невозможно, так как количество строк в админке равно количеству объявлений на первой странице. Почему эти, совершенно не связанные между собой вещи, напрямую зависят друг от друга, мне непонятно. Ровно как непонятно зачем в админке сделаны такие большие отступы от края таблицы и всё выделено жирным цветом.

Осталось дело за малым, понять какой шаблон формирует эту сетку (не вникал), внутри табличных данных заменить <th> на <td>, чтобы шрифт был обычным, разобраться с размерами колонок в таблицах или их стилях, и снять ограничение на выборку (скорее всего выборка производится со страниц, а для этого в настройках указывается сколько выводить объявлений - переделать, чтобы выгребалось всё из базы). Но, блин тысячу объявлений выгребать он будет не быстро... :) 

Констатин, подскажет куда ковырять...

А хотя, чего это я не вникал, дефолтная форма вывода объектов в админке - /apps/admin/admin/template1/realty_grid.tpl (не путать с той, что в редакторе шаблонов, которая непосредственно расположена в шаблоне), копался я в ней на днях...

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


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

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

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

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

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

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

Войти

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

Войти сейчас