August 24Aug 24 Решил сделать обложку для категорий в Pages.Для этого в phpmyadmin сделал ALTER TABLE cms_database_categories ADD cover_photo VARCHAR(255) NULL DEFAULT NULL;Затем в /applications/cms/sources/Categories/Categories.phpПеред $form->addHeader('cms_categories_header_display'); вставил $form->addHeader('category_cover_header'); $form->add( new \IPS\Helpers\Form\Upload( 'category_cover_photo', NULL, FALSE, array( 'storageExtension' => 'cms_CoverPhotos', 'allowedFileTypes' => array( 'png', 'jpg', 'jpeg', 'webp' ), 'imageThumbnailSize' => array( 1920, 400 ), 'nullBlank' => TRUE ) ) ); В АЦ в настройках категорий в БД появилась возможность загрузить картинку для обложки категории. Картинка загружается и выводится,все норм,получил то что хотел. Правда,есть масенький нюанс. При редактировании категории у которой есть обложка,после сохранения загруженная картинка не сохраняется в настройке да еще и удаляется. И вот этот момент не могу победить. Кто-нибудь может подсказать решение?
August 25Aug 25 Author 11 часов назад, Respected said:storageExtension добавил в dev режиме?Это как,стесняюсь спросить?
August 26Aug 26 Author 12 часов назад, Respected said:Попробуй указать cms_Media в storageExtensionСпасибо за подсказку,попробую.
August 27Aug 27 Author Заменил cms_CoverPhotos на cms_Media ,т.е привел к такому виду$form->addHeader('category_cover_header'); $form->add( new \IPS\Helpers\Form\Upload( 'category_cover_photo', NULL, FALSE, array( 'storageExtension' => 'cms_Media', 'allowedFileTypes' => array( 'png', 'jpg', 'jpeg', 'webp' ),'imageThumbnailSize' => array( 1920, 400 ), 'nullBlank' => TRUE) ) );в шаблоне также заменил на{{$coverUrl = \IPS\File::get( 'cms_Media', $category->category_cover_photo )->url;}}Перестало вообще выводиться картинка,даже если загрузить. В таблице cms_database_categories картинка указана ввидеmonthly_2026_08/politics.webp.7780ffd9d649c2beeb9e0ea15b185cbf.webpИли я что-то не так делаю? Edited August 27Aug 27 by AHristich
August 27Aug 27 Возможно вместо $category->category_cover_photo нужно $category->cover_photo, но это не точно. Нужно смотреть какие поля вообще отдаёт $category
August 27Aug 27 Author 1 час назад, Respected said:Возможно вместо $category->category_cover_photo нужно $category->cover_photo, но это не точно. Нужно смотреть какие поля вообще отдаёт $categorycategory_cover_photo это созданная колонка в таблице cms_database_categories.Запрос в бд был такойALTER TABLE cms_database_categories ADD categories_cover_photo VARCHAR(255) NULL DEFAULT NULL;В первом посте немного неправильно написАл
August 27Aug 27 Author 2 минуты назад, Zero108 said:Деды завещали не использовать ИИ? 😉Не поверите,один сказал что такое вообще почти нельзя сделать,другой такую канитель предложил,ужас. Показал свое решение,предлагают свои решения от которых только ошибки выводятся
August 27Aug 27 Нужно в форму передавать не null, а путь к загруженной картинке:$coverPhoto = NULL; if ( $this->id && $this->cover_photo ) { try { $coverPhoto = \IPS\File::get( 'cms_Media', $this->cover_photo ); } catch ( \OutOfRangeException ) { $coverPhoto = NULL; } }и в форму соответсвенно: $form->addHeader('category_cover_header'); $form->add( new \IPS\Helpers\Form\Upload( 'category_cover_photo', $coverPhoto, FALSE, array( 'storageExtension' => 'cms_Media', 'allowedFileTypes' => array( 'png', 'jpg', 'jpeg', 'webp' ),'imageThumbnailSize' => array( 1920, 400 ), 'nullBlank' => TRUE) ) );
August 27Aug 27 4 часа назад, AHristich said:Не поверите,один сказал что такое вообще почти нельзя сделать,другой такую канитель предложил,ужас. Показал свое решение,предлагают свои решения от которых только ошибки выводятся Claude Code ?
August 28Aug 28 13 часов назад, AHristich said:Не поверите,один сказал что такое вообще почти нельзя сделать,другой такую канитель предложил,ужас. Показал свое решение,предлагают свои решения от которых только ошибки выводятся В следующей серии ты должен не сражаться с роботами, а сделать их союзниками!
August 28Aug 28 Author 21 час назад, Respected said:Нужно в форму передавать не null, а путь к загруженной картинке:$coverPhoto = NULL; if ( $this->id && $this->cover_photo ) { try { $coverPhoto = \IPS\File::get( 'cms_Media', $this->cover_photo ); } catch ( \OutOfRangeException ) { $coverPhoto = NULL; } }и в форму соответсвенно:$form->addHeader('category_cover_header'); $form->add( new \IPS\Helpers\Form\Upload( 'category_cover_photo', $coverPhoto, FALSE, array( 'storageExtension' => 'cms_Media', 'allowedFileTypes' => array( 'png', 'jpg', 'jpeg', 'webp' ),'imageThumbnailSize' => array( 1920, 400 ), 'nullBlank' => TRUE) ) );Спасибо огромное, все получилось как надо.
August 28Aug 28 Author Ну вот как-то так получилось. IPS 4.7.24В настройках категорий:На сайте в категории:
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.