Страница 1 из 2

Улучшение внешнего вида вложений

Добавлено: 14 сен 2017, 14:24
gener
Добрый день. Предлагаю небольшое улучшение внешнего вида вложений.
Мне кажется было бы удобней, если бы у вложений так жи указывалась дата добавления.
Ингода бывает ситуация, что необходимо вспомнить когда именно было загружено то или иное вложение.
Аналогичная ситуация и с вложениями в комментариях. не всегда дата создания комментария может соответствовать дате загрузки вложения, так как при редактировании комментария можно добавлять и удалять вложения.
предлагаю вот такую доработку :

Изображение
Изображение

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

Для автора я уже подготовил реализацию данного функционала. Всего лишь нужно внести изменения в 2 файла.
По это ссылке уже внесены изменения : https://yadi.sk/d/sTqw6O_F3Mt5dN

Нужно заменить 2 вот этих файла:
includes/classes/attachments.php
includes/classes/fieldstypes/fieldtype_attachments.php

Актуально для версии 1.9.1

Re: Улучшение внешнего вида вложений

Добавлено: 14 сен 2017, 17:20
support
Благодарю, добавил в план.

Re: Улучшение внешнего вида вложений

Добавлено: 14 сен 2017, 21:42
gener
Прошу прощения, но решил не создавать новую тему.
При работе с системой, очень часто возникает вот такая ситуация:

Изображение

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

Я переделал этот момент. Мне кажется, что вот так выглядит намного лучше


Изображение

Я добавил отображение прикрепленных файлов и измененных полей.

для этого в классе includes/classes/modules/comments.php я немного подправил функцию get_last_comment_info и добавил новую :

Код: Выделить всё

public static function get_comment_fields_output($item) {
	global $current_path, $app_users_cache;
	$html_fields = '';
    $comments_fields_query = db_query("select f.*,ch.fields_value from app_comments_history ch, app_fields f where comments_id='" . db_input($item['id']) . "' and f.id=ch.fields_id order by ch.id");
    while($field = db_fetch_array($comments_fields_query))
    {
      //check field access
      if(isset($fields_access_schema[$field['id']]))
      {
        if($fields_access_schema[$field['id']]=='hide') continue;
      }

      $output_options = array('class'=>$field['type'],
                              'value'=>$field['fields_value'],
                              'field'=>$field,
                              'path'=>$_POST['path'],
                              'choices_cache'=>$choices_cache);

      $html_fields .='
          <tr><th>&bull;&nbsp;' . $field['name'] . ':&nbsp;</th><td>' . fields_types::output($output_options). '</td></tr>
      ';
    }
	return $html_fields;


  }

Я обратил внимание, что такой участок кода используется в 3 файлах:

Код: Выделить всё

includes/classes/model/comments.php
modules/items/actions/comments_listing.php
modules/items/actions/single_export.php

Я отрефакторил этот участок кода в этих файлах и теперь они используют эту функцию.
Во вложении обновленные файлы
comment.zip
(7.43 КБ) 277 скачиваний

Re: Улучшение внешнего вида вложений

Добавлено: 15 сен 2017, 06:41
support
О, благодарю, так же добавлю:)

Re: Улучшение внешнего вида вложений

Добавлено: 15 сен 2017, 11:20
userspb
После comment.zip перекосило систему и все съехало с разрывами страниц. Первая доработка ок, вторая не заработала.

Re: Улучшение внешнего вида вложений

Добавлено: 15 сен 2017, 13:05
gener
А можно поподробнее? Можно скриншот и содержимое вашего комментария?

Re: Улучшение внешнего вида вложений

Добавлено: 22 сен 2017, 01:51
aik
У меня после замены первого файлика comments.php полетела таблица вот так:
Также прикрепляю мой оригинальный файл comments.php

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

Изображение

Re: Улучшение внешнего вида вложений

Добавлено: 22 сен 2017, 07:53
gener
aik писал(а): 22 сен 2017, 01:51 У меня после замены первого файлика comments.php полетела таблица вот так:
Также прикрепляю мой оригинальный файл comments.php

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

Изображение
Зря конечно вы так все затерли. По скриншоту очень трудно понять что там. Видимо где-то возникла проблема с экранированием кавычек.

По обрезанному скриншоту сложно сказать. Попробую повторить вашу ситуацию

Re: Улучшение внешнего вида вложений

Добавлено: 22 сен 2017, 08:07
gener
Попробуйте вот этот вариант. Добавил экранирование кавычек, которе должно защитить от таких случаев.

Re: Улучшение внешнего вида вложений

Добавлено: 03 ноя 2017, 06:08
moroz-aleksey-95
Работает. Но когда в тексте встречается пустая строка текст не выводится, выводится "Пустое значение".