Наумов Алексей

Наумов Алексей

Был в сети 28 июля 2026, 14:21
Заказы принимаю
У меня жуткий костыль, код разбросан в 10 местах, суть такая:
1. В низу страницы есть код скрытой формы, эта форма отображается при помощи fancybox при загрузке картинки.
2. В форме есть input type=file, загрузка файлов идет по одному
3. Сама форма отправляется на сервер через ajax (jquery forms)
4. На севере висит php скрипт файл сохраняет и выдает в ответ сформированный html код со ссылкой на картинку и маленьким превью.
Я делал так:

1. Немного модернизируем js файл от тикетс (точнее делаем копию оригинального и указываем путь к нему в настройках), мой файл
fishspace.ru/assets/components/tickets/js/web/fish_default.js
мои изменения отмечены комментариями // FishSpace
2. в форму добавления комментария добавляем код ниже textarea
<div>
  	  <p>
  	    <a id="commentImagesUpload" href="#"><i class="icon-camera"></i>Прикрепить изображение</a>
  	  </p>
  	  <div id="commentImagesPanel"></div>
  	</div>
В момент написания комментария прикрепленные фотки вставляются внутрь commentImagesPanel (и соответственно у пользователя есть предпросмотр их), а в момент нажатия кнопки «написать комментарий» — html код с комментарями добавляется в textarea (это делает скрипт из п.1) и все отправляется на сервер.

3. На ссылку commentImagesUpload нужно повесить ajax загрузчик файлов, у меня так:
$('#commentImagesUpload').click(function(){
    ImageUpload(true);
    return false;
  });
функция ImageUpload у меня довольно навороченная и приводить ее код не буду. Суть ее в том, что бы показать всплывающее окно, которое позволит выбрать файл и загрузить его на сервер. На сервере скрипт загружает картинку, делает для нее превью, и возвращает ответ в json:

$html_code = '<a href="myimage.jpg"><img src="mythumb.jpg" />';
$result = array('success' => true, 'html' => $html_code);
return htmlspecialchars(json_encode($result), ENT_NOQUOTES);
В общем такой костыль у меня прикручен.
Не очень охота читать так много кода и текста, но прочитав «проблему» в конце пара замечаний:

1. Комментарии добавляются не к странице, а к thread, который может быть, например, page-155, или mycustomthread, в общем какой угодно. Поэтому на одной странице вы можете вывести разные комментарии, из разных thread…
2.… но в тоже время вроде нельзя делать несколько вызовов TicketsComment, т.к. вроде возникает проблема в javascript =)

короче смотрите что такое thread, и как это устроено в БД.
=)))
у каждого свое видение того, как что-то работать может. Все, читающие эту публикацию, безусловно рады нововведениям, но исходя из своего опыта, пытаются «усовершенствовать» функционал, предлагая разные пути, в надежде, что будет найден «идеал». Так что мы не критикуем, а предлагаем и обсуждаем. Вот)
Я подразумевал включение.
Может мы по разному пользуемся галереями, в моем сценарии галерея есть у 1-2 шаблонов на сайте, мне проще их включить, чем после каждого добавления шаблона бегать отключать.
5 шаблонов это норм, почему бы и нет?)

Не нравится — оставляйте в шаблоне doctype, head и body, а весь остальной код в страницы убирайте

Я обычно под каждую сущность завожу шаблон, таким образом у меня получаются шаблоны типа Главная, Текст, Раздел Каталога, Товар, Отзывы и т.д., но при этом в шаблонах очень простой код, никаких условий или чего то подобного.
У меня есть сайт, в котором 50000 товаров, не тормозит, все ок.
Да еще вся база раз в сутки автоматически синхронизируется, обновляются цены, наличии, меняется ассортимент.

И дополнительные поля у меня есть, около 20, да еще они все продублированы в TV полях)) итого 20*50000 TV полей))