20 мая 2021, 12:10 Это да. Код этот я привел больше для примера того, как получается ошибка. Оказалось, проблема в том, что Minishop2 не поддерживает Mysql Ver 8.0.25… Только старые версии. Вопросы / Ubuntu 20.04 + Mysql Ver 8.0.25 - Проблемы с сохранением картинок Minishop 5 0
19 мая 2021, 14:56 Спасибо!!! Обидно однако, что нет поддержки актуальных версий MySql. Вопросы / Ubuntu 20.04 + Mysql Ver 8.0.25 - Проблемы с сохранением картинок Minishop 5 0
18 августа 2020, 13:10 Спасибо за совет!!! Действительно в этом была проблема! Не знал про такой нюанс. Получается, что по-современному было бы правильнее преобразовать картинку в base64 и отсылать как строку? Пошаговые инструкции / Знакомимся с Vesp Core 31 0
17 августа 2020, 19:02 Василий, подскажи пожалуйста. Уже не знаю, куда копать. Никак не могу получить файл-картинку, отправленную с фронтенда. Целый день сегодня ковыряюсь. Vesp-core версия 2 Так прописываю маршрут к контроллеру в index.php: $app->any('/api/user/profilepicture', [App\Controllers\User\Profilepicture::class, '__invoke']);Вот сам контроллер. Подключал в него все, что нашел <?php namespace App\Controllers\User; use App\Models\User; use Psr\Http\Message\ResponseInterface; use Psr\Http\Message\RequestInterface; use Vesp\Controllers\Controller; use Psr\Http\Message\UploadedFileInterface; use Slim\Psr7\UploadedFile; use Slim\Psr7\Request; class Profilepicture extends Controller { public function patch() { $files = $this->request->getUploadedFiles(); return $this->success($files); } }Форма отправляется вот так: const fd = new FormData(); fd.append("firstName", "John"); fd.append('file', this.form.file, this.form.file.name); console.log(this.form); //тут вижу в консоли, что файл привязался file: File const {data: user} = await this.$axios.patch('user/profilepicture', fd, { headers: {'Content-Type': 'multipart/form-data' }, onUploadProgress: function(progressEvent) { var percentCompleted = Math.round((progressEvent.loaded * 100) / progressEvent.total) console.log(percentCompleted) } });Процент загрузки картинки отрабатывает и когда загружаю большое изображение, процесс идет. Но $files = $this->request->getUploadedFiles(); возвращает пустой массив. $this->request->getServerParams(); при этом отрабатывает корректно. Я вижу в ответе, что запрос не пустой "CONTENT_LENGTH": "8579020", // Вот картинка "CONTENT_TYPE": "multipart/form-data; boundary=----WebKitFormBoundary640lESYKvPBsYyvc", "REQUEST_METHOD": "PATCH",Где-то я туплю, но где, понять не могу. Дай совет, что не так. Если есть рабочий пример с реализацией подобного функционала, кинь ссылку сюда или в VESP чат если не сложно. Буду благодарен. Пошаговые инструкции / Знакомимся с Vesp Core 31 0
13 августа 2020, 11:41 Доставка цветов в Москве, Заказать цветы в Москве, купить 101 розу в Москве и тд — это далеко не ВЧ запросы)Вы заблуждаетесь. Это основные запросы по вашей нише. И все ваши конкуренты хотят быть первыми именно по этим запросам. Для вашей ниши именно они и есть ВЧ. И конкуренции там более чем достаточно. Самое простое, что можно внедрить прямо сейчас за пару дней, и что очень поможет: Поисковики любят текст. Добавьте больше уникального текста к каждому товару. Сейчас у вас все товары практически как один. Разница всего пара слов. Если имел место перенос с другого домена, проверьте правильность переадресаций.Долгосрочно: Начните делать красивые фото ваших букетов. И размещайте их в каталоге. Тут надо подумать, как это лучше реализовать, но в любом случае это сделает магазин более «живым» что-ли...А вообще тематика достаточно конкурентна. Тут не просто выйти на первые позиции. Нужно много знаний и времени. Вопросы / Что не так с моими карточками товаров??? Что может скрывать MODX REVO 58 +1
26 июля 2020, 09:32 Спасибо, что подсказал. Заработало! Пока еще не совсем понимаю всю логику, и что и откуда подтягивается. Но упорно разбираюсь. Пошаговые инструкции / Знакомимся с Vesp Core 31 +1
25 июля 2020, 14:03 Василий, привет! Спасибо за Vesp Core, реально интересно. Помоги советом, пожалуйста. Пытаюсь самостоятельно сделать функционал логина по токенам и зашел в тупик. Прописал путь для АПИ security/login и user/profile в файле index.php Соответственно добавил контроллеры в папку Controllers. Установил модуль авторизации auth. Прописал пути в конгфиге auth: { redirect: { home: '/', login: '/admin/', logout: '/', }, resetOnError: true, strategies: { local: { endpoints: { login: {url: 'security/login', method: 'post', propertyName: 'token'}, logout: {url: 'security/logout', method: 'post'}, user: {url: 'user/profile', method: 'get', propertyName: 'user'}, }, }, }, }, При отправке формы отрабатывает security/login, токен добавляется в базу. Но затем user/profile возвращает ошибку GET http://dev.website.com/api/user/profile 401 (Unauthorized) Что только я не пробовал. Не получается победить. Вот содержание файла Profile.php. <?php namespace App\Controllers\User; use Psr\Http\Message\ResponseInterface; use Vesp\Controllers\Controller; class Profile extends Controller { /** * @return ResponseInterface */ public function get() { if ($this->user) { $data = $this->user->toArray(); $data += ['scope' => $this->user->role->scope]; return $this->success(['user' => $data]); } return $this->failure('Authentication required', 401); } /** * @return ResponseInterface */ public function patch() { if ($password = trim($this->getProperty('password'))) { $this->user->password = $password; } $this->user->save(); return $this->get(); } }Можешь подсказать, в чем ошибка? Если что, бекенд сайта лежит на работающем сервере. Фронтенд на моем компе. Пошаговые инструкции / Знакомимся с Vesp Core 31 0
08 июля 2020, 16:53 Вот сегодня как раз поставил SMF на сайт к MODx. Установил SMF 2.0 в папку forums/ и пакет SMF Тоже при регистрации (или логине) на сайте, на форуме изменений не происходит. Зато все хорошо работает в обратном направлении. Пользователь логинится на форуме — автоматом логинится и на сайте. Сделайте основной точкой регистрации и входа форум и все будет нормально без изменения в коде. В списке пользователей на форуме есть только один администратор, хотя у сайта пользователей масса. Ну и при регистрации нового пользователя на сайте он не появляется на форуме.Пользователи при установке и у меня не импортировались. Для импорта пройдитесь по списку пользователей в админке MODx и обновите их. Просто откройте пользователей по очереди и сохраните каждого. Форум их подхватит. У меня мало юзеров, поэтому не стал писать никаких сниппетов для этого. Если юзеров много, придется обновлять через процессоры. Вопросы / Синхронизация сайта и форума smf 9 0
27 сентября 2019, 11:21 Проблема решена. Ошибка была на стороне MODX.com. У них не отрабатывали правильные редиректы на установщик последней версии. Я связался с поддержкой и они устранили проблему. Теперь все работает правильно. Вопросы / [Решено] MODX перестал отдавать установочный файл по ссылке download/latest/ ? 1 +1
19 июля 2019, 13:06 Вот у Ильи Уткина на сайте есть заметка про это: mFilter2. принцип OR поменять на AND ilyaut.ru/reposts/mfilter2-principle-or-change-to-and/ Сам делал по ней. Все получилось. Правда пришлось немного повозиться. Вопросы / Как сделать правильную фильтрацию в mFilter2? 6 +1
08 мая 2019, 13:42 Регулярно создаю товары в MS2 с пустой ценой. Все сохраняется отлично. Поэтому лучше найдите почему у вас такое непонятное поведение на сайте и исправьте косяк там. И вообще, если уж ссылаетесь на ошибку в логе, то прикладывайте сам текст ошибки. Тут нет экстрасенсов. Вопросы / Автозаполнение полей при создании товара 3 0
10 января 2019, 09:30 Спасибо Вам за подсказку! Вопросы / Собственная маршрутизация, плейсхолдеры и mFilter2. Нужна помощь. 2 0
09 января 2019, 10:54 Да. Имею в виду это. Просто сам недавно писал отзыв на своем сайте из фронта. Написал слов 200 а потом полез на другие вкладки в браузере за дополнительной информацией. Чуть случайно не закрыл окно, где печатал :) Понимаю, что такой функционал не в приоритете, но будет плюсом к юзабилити. Новые дополнения и их версии / easyComm 1.7.0. Расширенный рейтинг 8 0
30 декабря 2018, 18:53 Здравствуйте Алексей. Начал пользоваться вашим компонентом для одного из сайтов. Предложение по функционалу: сделайте так, чтобы обзор сохранялся в сессию или куда нибудь еще пока он не опубликован. Своеобразный черновик. Все таки пользователи часто пишут отзывы прямо на сайте и весь труд пользователя может быть легко потерян без таких черновиков. Это плюс к юзабилити сайта. Новые дополнения и их версии / easyComm 1.7.0. Расширенный рейтинг 8 0
20 декабря 2018, 14:08 Алексей, здравствуйте! Классный компонент. Просьба по функционалу: добавьте пожалуйста возможность проголосовать за отзыв. Чтобы потом у каждого отзыва можно было вывести его полезность: «10 пользователей считают этот отзыв полезным». Сейчас такой функционал встречается на многих сайтах-отзовиках. Новые дополнения и их версии / easyComm 1.6.0. Множественные поля рейтинга 16 +3
18 июня 2018, 14:40 Александр, обнови пост. Компонент доступен в Модстор — modstore.pro/packages/alerts-mailing/emailqueue Новые дополнения и их версии / [EmailQueue] - Очередь писем 69 0
04 октября 2017, 12:35 Как поисковику сказать что у тебя есть страница с AMP Ответ на вопрос: добавить на основную страницу (в head) следующий метатег со ссылкой на АМП версию: <link rel="amphtml" href="https://sitename.com/page.html?amp"> в свою очередь, на АМП странице обязательно должен быть тег canonical, указывающий на основную версию страницы. <link rel="canonical" href="https://sitename.com/page.html" /> Это поможет поисковику понять, где что и не посчитать страницы дублями. Вопросы / Amp для modx 18 0
27 сентября 2017, 12:51 Я бы на твоем месте использовал компонент VirtualPage. Он позволяет удобно работать с виртуальными страницами. Страницам можно назначить нужный шаблон и в шаблоне запрашивать контент как тебе нужно. Вопросы / Ресурсы в своей таблице 22 +2
01 июля 2017, 15:20 Ну тогда видимо будет проще всего создать свое поле (Тв или Опцию товара) и в нее вбивать вес в том формате, который нужен. Можно попробовать также через javascript убирать точку и нули при загрузке страницы. Тут уже смотреть надо, что удобнее будет. Вопросы / mFilter2 - поле weight возводит в степень 8 -1
Возможно ли реализовать возможность предоплаты за доставку на сайте? Так ради этого мне и нужно это все, чтобы клиент платил сразу при оформлении заказа, чтобы избавить себя от мусорных заявок (когда человек оставляет заявку, а предоплату делать не ...
Редизайн сообщества На больших экранах основной текст статьи я бы сделал 18 px. Да и текст комментариев можно таким сделать. Для меня лично 16 — мелковато на больших экранах (в комментариях вообще 15 ...
MiniShop3 1.11.0 при клике на radio идет пересчет итоговой суммы в orderUI, в зависимости от способов(оплаты доставки) я так поняла. попробуй код запуска события поставить ниже чем orderUI, после
ImageOptimizer - WebP/AVIF и responsive <picture> для MODX 3 Дополнение доступно modstore.pro/packages/photos-and-files/imageoptimizer
Localizator3 для MODX 3: перевод полей и TV без отдельного context на язык, Vue 3 + PrimeV... Добавил localizator3_default_language
msInShopNotify Начиная с версии 3.0.0-beta добавлена поддержка MiniShop3 Минимальные требования: PHP 8.4 MODX 3.2 MiniShop3
MaxNotify Обновление 1.2.0-pl (03.07.2026) — добавлены уведомления о заявках FormIt через hook-сниппет `maxNotifyFormIt`; — добавлены уведомления о заявках SendIt через hook-...
[msBonus2] 1.3.0 Бонус-коды, уведомления о сгорании и совместимость с msMultiCurre... Да, планируется. Даже чуть больше, чем просто бонусная система)
Оказалось, проблема в том, что Minishop2 не поддерживает Mysql Ver 8.0.25… Только старые версии.
Получается, что по-современному было бы правильнее преобразовать картинку в base64 и отсылать как строку?
Vesp-core версия 2
Так прописываю маршрут к контроллеру в index.php:
Вот сам контроллер. Подключал в него все, что нашел
Форма отправляется вот так:
Процент загрузки картинки отрабатывает и когда загружаю большое изображение, процесс идет.
Но $files = $this->request->getUploadedFiles(); возвращает пустой массив. $this->request->getServerParams(); при этом отрабатывает корректно. Я вижу в ответе, что запрос не пустой
Где-то я туплю, но где, понять не могу.
Дай совет, что не так. Если есть рабочий пример с реализацией подобного функционала, кинь ссылку сюда или в VESP чат если не сложно. Буду благодарен.
Самое простое, что можно внедрить прямо сейчас за пару дней, и что очень поможет:
- Поисковики любят текст. Добавьте больше уникального текста к каждому товару. Сейчас у вас все товары практически как один. Разница всего пара слов.
- Если имел место перенос с другого домена, проверьте правильность переадресаций.
Долгосрочно:- Начните делать красивые фото ваших букетов. И размещайте их в каталоге. Тут надо подумать, как это лучше реализовать, но в любом случае это сделает магазин более «живым» что-ли...
А вообще тематика достаточно конкурентна. Тут не просто выйти на первые позиции. Нужно много знаний и времени.Прописал путь для АПИ security/login и user/profile в файле index.php
Соответственно добавил контроллеры в папку Controllers.
Установил модуль авторизации auth. Прописал пути в конгфиге
При отправке формы отрабатывает security/login, токен добавляется в базу. Но затем user/profile возвращает ошибку
Что только я не пробовал. Не получается победить. Вот содержание файла Profile.php.
Можешь подсказать, в чем ошибка? Если что, бекенд сайта лежит на работающем сервере. Фронтенд на моем компе.
Тоже при регистрации (или логине) на сайте, на форуме изменений не происходит.
Зато все хорошо работает в обратном направлении. Пользователь логинится на форуме — автоматом логинится и на сайте. Сделайте основной точкой регистрации и входа форум и все будет нормально без изменения в коде.
Пользователи при установке и у меня не импортировались. Для импорта пройдитесь по списку пользователей в админке MODx и обновите их. Просто откройте пользователей по очереди и сохраните каждого. Форум их подхватит.
У меня мало юзеров, поэтому не стал писать никаких сниппетов для этого. Если юзеров много, придется обновлять через процессоры.
Я связался с поддержкой и они устранили проблему. Теперь все работает правильно.
mFilter2. принцип OR поменять на AND ilyaut.ru/reposts/mfilter2-principle-or-change-to-and/
Сам делал по ней. Все получилось. Правда пришлось немного повозиться.
И вообще, если уж ссылаетесь на ошибку в логе, то прикладывайте сам текст ошибки. Тут нет экстрасенсов.
Ответ на вопрос: добавить на основную страницу (в head) следующий метатег со ссылкой на АМП версию:
в свою очередь, на АМП странице обязательно должен быть тег canonical, указывающий на основную версию страницы.
Это поможет поисковику понять, где что и не посчитать страницы дублями.
Можно попробовать также через javascript убирать точку и нули при загрузке страницы. Тут уже смотреть надо, что удобнее будет.