Перейти к содержимому


Фото
* * * * * 2 голосов

[2.*] Прикрепленные файлы

файлы документация

  • Чтобы отвечать, сперва войдите на форум
61 ответов в теме

#21 sergeevizh

sergeevizh
  • Пользователь
  • 126 сообщений
  • Откуда:Москва

Опубликовано 29.10.2017 - 19:43

{if $cms_files}
<h2>Файлы</h2>
{foreach $cms_files as $file}{$config->cms_files_dir}{$file->filename}{$filename.size|filesize}{/foreach}
{/if}

Могу и ошибаться, по аналогии как предложил mishanya вывести в цикле.


Изменено: sergeevizh, 29.10.2017 - 19:44


#22 jonny008

jonny008
  • Пользователь
  • 111 сообщений

Опубликовано 29.10.2017 - 20:35

{if $cms_files}
<h2>Файлы</h2>
{foreach $cms_files as $file}{$config->cms_files_dir}{$file->filename}{$filename.size|filesize}{/foreach}
{/if}

Могу и ошибаться, по аналогии как предложил mishanya вывести в цикле.



#23 miltonmors

miltonmors
  • Забаненый
  • 91 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Николаев

Опубликовано 30.10.2017 - 10:03

Ничего не выводит. 

 

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

Выходит, у Вас ошибка еще ДО применения плагина.

 

$filename.size - выглядит как чистая бессмыслица.

 

Проверить плагин отдельно можно так

{3544|filesize}  {32987500|filesize}

 

Пробуйте примерно так:

{assign var=fn value="`$config->cms_files_dir``$file->filename`"}   {filesize($fn)|filesize}
 


Изменено: miltonmors, 30.10.2017 - 10:03


#24 mishanya

mishanya
  • Фрилансер
  • 2 557 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Опубликовано 30.10.2017 - 11:20

что мешает в ф-и get_files сразу подсчитывать вес файлов через php а не через модификаторы.

а еще лучше, писать размер файла при загрузке, чтобы каждый раз не дергать ф-ю



#25 Julius123

Julius123
  • Пользователь
  • 249 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 31.10.2017 - 21:48

Подскажите а как это применить к аватарам? Хочу сделать чтобы в карточке пользователя на сайте была возможность загрузить аватар. Ну и соответственно чтобы пропускало только картинки (для безопасности).


Изменено: Julius123, 31.10.2017 - 21:53


#26 mishanya

mishanya
  • Фрилансер
  • 2 557 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Опубликовано 31.10.2017 - 21:50

Подскажите а как это применить к аватарам? Хочу сделать чтобы в карточке пользователя а сайте была возможность загрузить аватар. Ну и соответственно чтобы пропускало только картинки (для безопасности)

 

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

скопируйте оттуда код и измените для себя



#27 Julius123

Julius123
  • Пользователь
  • 249 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 31.10.2017 - 22:28

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

скопируйте оттуда код и измените для себя

Начал делать. Картинка загружается но не делаются ресайзы, подскажите что упустил?



#28 mishanya

mishanya
  • Фрилансер
  • 2 557 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Опубликовано 31.10.2017 - 22:39

Начал делать. Картинка загружается но не делаются ресайзы, подскажите что упустил?

 

потому что для брендов и категорий нет ресайза. как впрочем и для моих файлов).

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



#29 Julius123

Julius123
  • Пользователь
  • 249 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 31.10.2017 - 22:44

потому что для брендов и категорий нет ресайза. как впрочем и для моих файлов).

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

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


Изменено: Julius123, 31.10.2017 - 22:45


#30 Julius123

Julius123
  • Пользователь
  • 249 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 01.11.2017 - 09:57

Такая проблема что не могу в карточке пользователя на сайте ни загрузить ни даже отобразить (загруженный через админку) аватар. Что нужно сделать в UserView.php? никак не могу понять( название картинки хранится в таблице s_users в поле image


Изменено: Julius123, 01.11.2017 - 09:57


#31 mishanya

mishanya
  • Фрилансер
  • 2 557 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Опубликовано 01.11.2017 - 12:08

Такая проблема что не могу в карточке пользователя на сайте ни загрузить ни даже отобразить (загруженный через админку) аватар. Что нужно сделать в UserView.php? никак не могу понять( название картинки хранится в таблице s_users в поле image

 

а в базу пишет?



#32 Julius123

Julius123
  • Пользователь
  • 249 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 01.11.2017 - 12:11

а в базу пишет?

не пишет в базу даже с сайта



#33 mishanya

mishanya
  • Фрилансер
  • 2 557 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Опубликовано 01.11.2017 - 12:13

не пишет в базу даже с сайта

значит не загружает файл тоже. проверяйте код.



#34 Julius123

Julius123
  • Пользователь
  • 249 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 01.11.2017 - 12:15


значит не загружает файл тоже. проверяйте код.


Код формы загрузки в шаблоне или какой именно код? В админке же все работает.

Изменено: Julius123, 01.11.2017 - 12:16


#35 mishanya

mishanya
  • Фрилансер
  • 2 557 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Опубликовано 01.11.2017 - 12:20

Код формы загрузки в шаблоне или какой именно код? В админке же все работает.

 

там другие переменные, смотрите. в админке $user, на сайте скорее всего $this->user. код покажите



#36 Julius123

Julius123
  • Пользователь
  • 249 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 01.11.2017 - 12:25

там другие переменные, смотрите. в админке $user, на сайте скорее всего $this->user. код покажите

                

 

<div class="avatar"
                style="background: url({if $user->image}{$user->image|resize:120:120:false:$config->resized_users_dir}{else}http://omvel.com/frontend/web/images/avatars/default.png{/if}) no-repeat center">
                <div><input type="file" id="file" name="image" accept="image/*" /></div>
                </div>
                <div class="output" id="output"></div> 






      <style>
        .avatar{
        height: 120px;
        width: 120px;
        border: 3px solid #CECECE;
        }
        .avatar div{
        opacity:0;
        height:100%;
          width:100%;
  background:url(http://www.omvel.com/images/avatars/refresh.png) center;
  transition: 0.4s;
}
.avatar input[type=file] {
  cursor: pointer;
  height:100%;
  width:100%;
  opacity:0;
}
.avatar div:hover {
    opacity:0.5;
     transition: 0.6s;
}
.output {
height: 120px !important;
width: 120px !important;
border: 3px solid #CECECE;
margin-top:-120px !important;
margin-left:-1px !important;
z-index:9999;
position:inherit;
}


      </style>
      
      
      
    </div>
</div>




<script>
  function handleFileSelectSingle(evt) {
    var file = evt.target.files; // FileList object


    var f = file[0]


      // Only process image files.
      if (!f.type.match('image.*')) {
        alert("Только изображения....");
      }


      var reader = new FileReader();


      // Closure to capture the file information.
      reader.onload = (function(theFile) {
        return function(e) {
          // Render thumbnail.
          var span = document.createElement('span');
          span.innerHTML = ['<img class="img-thumbnail" src="', e.target.result,
                            '" title="', escape(theFile.name), '"/>'].join('');
          document.getElementById('output').innerHTML = "";
          document.getElementById('output').insertBefore(span, null);
        };
      })(f);


      // Read in the image file as a data URL.
      reader.readAsDataURL(f);
    }
  


  document.getElementById('file').addEventListener('change', handleFileSelectSingle, false);
  
    function handleFileSelectMulti(evt) {
    var files = evt.target.files; // FileList object
    document.getElementById('outputMulti').innerHTML = "";
    for (var i = 0, f; f = files[i]; i++) {


      // Only process image files.
      if (!f.type.match('image.*')) {
        alert("Только изображения....");
      }


      var reader = new FileReader();


      // Closure to capture the file information.
      reader.onload = (function(theFile) {
        return function(e) {
          // Render thumbnail.
          var span = document.createElement('span');
          span.innerHTML = ['<img class="img-thumbnail" src="', e.target.result,
                            '" title="', escape(theFile.name), '"/>'].join('');
          document.getElementById('outputMulti').insertBefore(span, null);
        };
      })(f);


      // Read in the image file as a data URL.
      reader.readAsDataURL(f);
    }
  }
  


  document.getElementById('fileMulti').addEventListener('change', handleFileSelectMulti, false);
  
</script>
 


#37 mishanya

mishanya
  • Фрилансер
  • 2 557 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Опубликовано 01.11.2017 - 12:41

так а код UserView, оно само должно сохранять картинку?)



#38 Julius123

Julius123
  • Пользователь
  • 249 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Украина

Опубликовано 01.11.2017 - 14:10

так а код UserView, оно само должно сохранять картинку?)

Извиняюсь ) Вот код который редактировал я в UserView.php

 

/*Отображение личного кабинета пользователя*/
    public function fetch() {
        if(empty($this->user)) {
            header('Location: '.$this->config->root_url.'/'.$this->lang_link.'user/login');
            exit();
        }


        /*Обновление данных клиеньа*/
        if($this->request->method('post') && $this->request->post('user_save')) {
            $user = new stdClass();
            $user->name       = $this->request->post('name');
            $user->email      = $this->request->post('email');
            $user->phone      = $this->request->post('phone');
            $user->address    = $this->request->post('address');
            $password         = $this->request->post('password');
            
            $this->design->assign('name', $user->name);
            $this->design->assign('email', $user->email);
            $this->design->assign('phone', $user->phone);
            $this->design->assign('address', $user->address);
            
            $this->db->query('SELECT count(*) as count FROM __users WHERE email=? AND id!=?', $user->email, $this->user->id);
            $user_exists = $this->db->result('count');


            /*Валидация данных*/
            if($user_exists) {
                $this->design->assign('error', 'user_exists');
            } elseif(!$this->validate->is_name($user->name, true)) {
                $this->design->assign('error', 'empty_name');
            } elseif(!$this->validate->is_email($user->email, true)) {
                $this->design->assign('error', 'empty_email');
            } elseif(!$this->validate->is_phone($user->phone)) {
                $this->design->assign('error', 'empty_phone');
            } elseif(!$this->validate->is_address($user->address)) {
                $this->design->assign('error', 'empty_address');
            } elseif($user_id = $this->users->update_user($this->user->id, $user)) {
                $this->user = $this->users->get_user(intval($user_id));
                $this->design->assign('user', $this->user);
            } else {
                $this->design->assign('error', 'unknown error');
            }
            
            // Удаление аватара
                if ($this->request->post('delete_image')) {
                    $this->image->delete_image($user->id, 'image', 'users', $this->config->original_users_dir, $this->config->resized_users_dir);
                }
                // Загрузка аватара
                $image = $this->request->files('image');
                if (!empty($image['name']) && ($filename = $this->image->upload_image($image['tmp_name'], $image['name'], $this->config->original_users_dir))) {
                    $this->image->delete_image($user->id, 'image', 'users', $this->config->original_users_dir, $this->config->resized_users_dir);
                    $this->users->update_user($user->id, array('image'=>$filename));
                }
            
            if(!empty($password)) {
                $this->users->update_user($this->user->id, array('password'=>$password));
            }
        } else {
            // Передаем в шаблон
            $this->design->assign('name', $this->user->name);
            $this->design->assign('email', $this->user->email);
            $this->design->assign('phone', $this->user->phone);
            $this->design->assign('address', $this->user->address);
        }

Изменено: Julius123, 01.11.2017 - 14:10


#39 mishanya

mishanya
  • Фрилансер
  • 2 557 сообщений
  • Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Ukraine

Опубликовано 01.11.2017 - 14:20

Извиняюсь ) Вот код который редактировал я в UserView.php

 

а ф-я такая $this->image->delete_image есть?

 

как и говорил должно быть не

$this->users->update_user($user->id,

а

$this->users->update_user($this->user->id,

 

и тут тоже самое не

$this->image->delete_image($user->id,

а 

$this->image->delete_image($this->user->id,



#40 miltonmors

miltonmors
  • Забаненый
  • 91 сообщений
  • Программирование
  • Версия CMS:2.x
  • Откуда:Николаев

Опубликовано 01.11.2017 - 17:24

а ф-я такая $this->image->delete_image есть?

 

Еще в этом коде встречается  $this->validate$this->lang_link.

 

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







Также с меткой «файлы, документация»

0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых