product.blade.php 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. @extends('layouts.app')
  2. @section('content')
  3. <div class="container-fluid">
  4. <div class="row">
  5. <div class="col-sm-12 col-md-6">
  6. <h3>Редактирование продукта <strong>{{ $product->name }}</strong></h3>
  7. <form action="{{ route('save_product') }}" method="post">
  8. @csrf
  9. <div class="row mt-3">
  10. <div class="col-6">
  11. <label for="article" class="form-label">Артикул</label>
  12. <input class="form-control" id="article" value="{{ $product->article }}"
  13. disabled>
  14. <input type="hidden" name="id" value="{{ $product->id }}">
  15. </div>
  16. <div class="col-6">
  17. <label for="series" class="form-label">Серия</label>
  18. <input class="form-control @error('series') border-danger @enderror"
  19. name="series" id="series" value="{{ old('series', $product->series) }}">
  20. @error('series')
  21. <div class="form-text text-danger" id="titleError">
  22. {{ $message }}
  23. </div>
  24. @enderror
  25. </div>
  26. </div>
  27. <div class="row mt-3">
  28. <div class="col-6">
  29. <label for="name" class="form-label">Наименовение</label>
  30. <input class="form-control @error('name') border-danger @enderror"
  31. name="name" id="name" value="{{ old('name', $product->name) }}">
  32. @error('name')
  33. <div class="form-text text-danger" id="titleError">
  34. {{ $message }}
  35. </div>
  36. @enderror
  37. </div>
  38. <div class="col-6">
  39. <label for="name_for_form" class="form-label">Наименование под образец формы</label>
  40. <input class="form-control @error('name_for_form') border-danger @enderror"
  41. name="name_for_form" id="name_for_form"
  42. value="{{ old('name_for_form', $product->name_for_form) }}">
  43. @error('name_for_form')
  44. <div class="form-text text-danger" id="titleError">
  45. {{ $message }}
  46. </div>
  47. @enderror
  48. </div>
  49. </div>
  50. <div class="row mt-3">
  51. <div class="col-6">
  52. <label for="product_group" class="form-label">Группа</label>
  53. <input class="form-control @error('product_group') border-danger @enderror"
  54. name="product_group" id="product_group"
  55. value="{{ old('product_group', $product->product_group) }}">
  56. @error('product_group')
  57. <div class="form-text text-danger" id="titleError">
  58. {{ $message }}
  59. </div>
  60. @enderror
  61. </div>
  62. <div class="col-6">
  63. <label for="price" class="form-label">Цена</label>
  64. <input type="number" class="form-control @error('price') border-danger @enderror"
  65. name="price" id="price"
  66. value="{{ old('price', $product->price) }}">
  67. @error('price')
  68. <div class="form-text text-danger" id="titleError">
  69. {{ $message }}
  70. </div>
  71. @enderror
  72. </div>
  73. </div>
  74. <label for="characteristics" class="form-label mt-3">Характеристики</label>
  75. <textarea class="form-control @error('characteristics') border-danger @enderror"
  76. name="characteristics" rows="4"
  77. id="characteristics">{{ old('characteristics', $product->characteristics) }}</textarea>
  78. @error('characteristics')
  79. <div class="form-text text-danger" id="titleError">
  80. {{ $message }}
  81. </div>
  82. @enderror
  83. <label for="tech_description" class="form-label mt-3">Техническое описание</label>
  84. <textarea class="form-control @error('tech_description') border-danger @enderror"
  85. name="tech_description" rows="5"
  86. id="tech_description">{{ old('tech_description', $product->tech_description) }}</textarea>
  87. @error('tech_description')
  88. <div class="form-text text-danger" id="titleError">
  89. {{ $message }}
  90. </div>
  91. @enderror
  92. <label for="tech_description_short" class="form-label mt-3">Техническое описание сокращенное без
  93. артикула</label>
  94. <textarea class="form-control @error('tech_description_short') border-danger @enderror"
  95. name="tech_description_short" rows="5"
  96. id="tech_description_short">{{
  97. old('tech_description_short', $product->tech_description_short) }}</textarea>
  98. @error('tech_description_short')
  99. <div class="form-text text-danger" id="titleError">
  100. {{ $message }}
  101. </div>
  102. @enderror
  103. <div class="col-12 text-center mt-3">
  104. <button type="submit" class="btn btn-primary">Сохранить</button>
  105. </div>
  106. </form>
  107. </div>
  108. <div class="col-sm-12 col-md-6">
  109. <div class="col-12 text-end">
  110. <button class="btn btn-primary" onclick="document.getElementById('upload-image-form').click()">
  111. Загрузить
  112. </button>
  113. <br>
  114. <span class="notice">Изображение сохраниться в папку с изображениями товаров: stroyprofit.com/{{ env('IMAGES_PATH', 'fill-path') }}/<br>
  115. Имя файла будет сформировано уникальное, в начале имени до точки будет артикул товара.</span>
  116. <form action="{{ route('upload_image') }}" method="post" enctype="multipart/form-data"
  117. class="visually-hidden" onchange="this.submit()">
  118. @csrf
  119. <input type="hidden" name="article" value="{{ $product->article }}">
  120. <input type="file" name="filename" id="upload-image-form" accept=".jpg">
  121. </form>
  122. </div>
  123. @empty($product->image_path)
  124. <div class="text-center my-5 fs-3">Нет изображения</div>
  125. @else
  126. <div class="col-12 text-center" >
  127. <img src="{{ '/' . env('IMAGES_PATH', '/fill_images_path_in_env') . '/' . $product->image_path }}"
  128. alt="{{ $product->article }}" class="img-fluid" style="max-height: 40vh;">
  129. </div>
  130. @endempty
  131. @if(count($images) > 1)
  132. <div class="col-12 mt-3">
  133. <div class="fs-5 mb-4">Найдены изображения с таким артикулом:</div>
  134. <div class="row justify-content-center align-items-end">
  135. @foreach($images as $image)
  136. <div class="h-100 col-md-3 col-sm-2 text-center">
  137. <img class="img-thumbnail"
  138. src="{{ '/' . env('IMAGES_PATH', 'zzz') . '/' . $image }}" alt="{{ $image }}">
  139. <form action="{{ route('update_image', $product->id) }}" method="post">
  140. @csrf
  141. <input type="hidden" name="image_path" value="{{ $image }}">
  142. <button type="submit" class="btn btn-primary my-3">Выбрать</button>
  143. </form>
  144. </div>
  145. @endforeach
  146. </div>
  147. </div>
  148. @endif
  149. </div>
  150. </div>
  151. </div>
  152. @endsection