Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Axelenz

Users
  
  • Posts

    744
  • Joined

  • Last visited

Everything posted by Axelenz

  1. Спарсить то группы атрибутов возможно точно так же, как и всё остальное, вот только это ничего не даст, потому, что модуль не сможет их залить на место. Как вариант, я игрался так... создать в магазине Группы атрибутов и каждый раз указывать модулю, какую именно группу атрибутов парсить каждый раз... Но сложность данного процесса не позволяет его рекомендовать в массы... Поэтому устанавливать связь атрибутов с группами вручную - это Ваш вариант...
  2. Ну попробуйте с одной картинкой, даже вручную через FTP. Тем более у Вас как минимум два инструмента есть: SimplePars и АОП. Но я, если честно, имею привычку ломиться в базу и там сразу подобное делать... в таблице product нужно смотреть, что там в поле с картинками творится... Насколько я понял из всего вышесказанного Вами, то картинки у Вас хранятся в нормальном виде с нормальным расширением .jpg но вот в базе пути к ним сохранились в полном виде, как у донора .png@jpg. Тогда необходимо в указанной мною выше таблице всё привести в порядок, чтобы ссылка и фото соответствовали...
  3. Ну если не хотите скачивать именно в .png (а это будет раз в 10 больше по размеру), то как вариант, можно скачать массово все фото .jpg и потом просто при парсинге подменить пути к фото с их сайта на своё хранилище... А почему IE не открывает ?
  4. Баг в том, что человек не совсем понимает, какие данные он хочет и может получить с указанной им границы... просто встретил знакомую надпись data-id= Но зачем она Вам нужна, именно вот эта граница ? Не пробовали взять, например, product_id = ?
  5. Понимая саму логику мышления не важно, какую задачу нужно решить, на какой вкладке или даже в каком модуле... Я давал пояснение общее, но на частном примере, в конкретном модуле.
  6. В алгебре логики имеется шесть логических операций. В нашем случае используется: — конъюнкция (логическое умножение, логическое И) Высказывание истинно тогда и только тогда, когда истинны оба исходных высказывания. Рассмотрим конъюнкцию вот на этом конкретном примере, почему ничего не получилось. "Имеем большой список товаров... Настройка: "Дата последнего обновления" "_________" "%знач%" " 15:| 16:| 17:" => Получаем список товаров обновленных по времени с 15:00 до 17:59 час. Настройка: "Дата последнего обновления" "отрицание" "%знач%" " 15:| 16:| 17:" => фильтр не работает и показывает абсолютно все товары. Каким способом можно исключить из списка товары обновленные с 15:00 до 17:59 час. ?" Правильно заданный вопрос несёт в себе 50% ответа на него. Вопрос "Каким способом можно исключить из списка товары обновленные с 15:00 до 17:59 час?" является отрицательой формой высказывания, утвердительная форма звучит: "Каким способом можно включить в список товары обновленные с 0:00 до 15:00 и с 18:00 до 0:00 часов?" Составляем для наглядности таблицу, как в школе. Не получилось изначально найти решение по той причине, что из 4-х разных возможных вариантов к рассмотрению были взяты всего лишь 2! Первая и вторая строка таблицы это и есть те выражения, что указаны в Примере. Искомое же выражение выделено красным и если отрицательную форму заменить на утвердительную, то получим в третьей строке: "ДА", с 0:00 до 15:00 и с 18:00 до 0:00 часов. Но так был сформулирован изначально вопрос, поэтому искали ответ именно на него... Подобные вопросы задаются именно потому, что не правильно была поставлена работа с логикой...
  7. Вот я так и думал, что что-то подобное уже реализовано ) Выложите, пожалуйста этот в справке, как пример. Наверняка люди будут этим способом пользоваться, благодарю.
  8. Доброй ночи, уважаемый автор... из разряда хотелок. Вроде бы и мелочь, но было бы весьма удобно для работы, особенно если много разных проектов. На вкладке Поиск/Замена в Правила поиск замены добавить хотя бы однострочный комментарий. Т.е. поставить в начале набор символов, который скажет, что это, например, комментарий и его не обрабатывать... Это можно будет использовать и как временное отключение правила при тестировании, а так же как реальный комментарий того, что написано... {//} может как-то так...
  9. Если бы в cron можно было выбирать, например, в дате: - каждую непарную дату типа 1,3,5...31 - каждую парную дату типа 2,4,6...30 - каждый третий день типа 3,6,9...30 это бы реально расширило возможности. При такой возможности выбора, если подключить ещё выборочно дни недели, то можно уже получить рандомность, когда дни срабатывания cron текущей недели не будут совпадать с днями следующей недели... А я за любую рандомность в парсинге, пусть даже с видением на перспективу...
  10. Время не измеряется порядками типа 32, 64, 128, 256, 512, 1024... и т.д. Если Вы хотите, чтобы cron срабатывал. например, Вт., Чт., Сб., то проще всего создать 3 (три) отдельных задания. Просто продублировать одно и то же, но в каждом случае указать разные дни недели. В первом случае ставить Вт., во втором - Чт., дальше - Сб. Хотя сама идея представления времени, как вздумается, мне понравилась К сожалению, разработчик ограничил нас, втиснув в рамки привычного 24-х часового формата...
  11. При всём уважении... не стал бы рекомендовать данное регулярное выражение для использования... Показываю пример, где его можно загнать в угол: Я бы рекомендовал в таких случаях использовать более универсальное регулярное выражение, при желании даже можно поправить, если кто-то случайно до или после запятой поставил пробел (защита от дурака): {reg[#(\d)\040?,\040?(\d)#]}|$1.$2 Вот отчёт, как это отрабатывает:
  12. Да там через замену всё элементарно делается... {reg[#(\d\d\d\d)-(\d?\d)-(\d?\d)#]}|$3-$2-$1 {reg[#-0?1-#]}| января {reg[#-0?2-#]}| февраля ... {reg[#-12-#]}| декабря В конце смотрим внимательно, стоят пробелы после месяца... Если в дате могут использоваться "-" не всегда или разные (короткие/средние/длинные тире) или с пробелами и т.п., тогда лучше более универсальную формулу применять: {reg[#(\d\d\d\d)(.*?)(\d?\d)(.*?)(\d?\d)#]}|$5-$3-$1
  13. Я то пока решил вопрос вырезанием с Наименования товара, но это решает проблему только частично... далеко не все товары захватываются по такой логике. А в модуле не хватает средств, чтобы отсортировать данные... нет логических операторов. Придётся подключать Excel, сортировку, склейку и потом через АОП забрасывать на сайт... (
  14. Добрый день. Подскажите, как можно собрать данные, необходимые для связи товара через HPM. Проблема вот в чём... У донора от одной до 3-х опций (дальше - атрибутов для HPM). Чтобы вытянуть данные для их связи, я с донора спарсил ссылки на подобные товары и с них уже беру необходимый код. Вот там, где по одной опции в товаре вопрос решается без проблем, а где 2 и 3-и опции никак не могу решить средствами модуля потому, что с разных товаров получаю эти коды в разных порядках следования друг за другом и выстроить их по возрастанию не получается... Пример: Для формирования данных для дальнейших связей просто связываю следующие друг за другом коды со ссылок, например: 607202 807202 связываю их и получаю нормальный код для HPM - 607202807202 Но в другом товаре он может быть в ином порядке: 807202 607202 и код уже будет, если связать 807202607202, а мне необходимо, чтобы он совпал с первым... А если 3-и опции, то вариантов связей получается ещё больше...
  15. Я не знаю, какой способ имеет какие плюсы и какие минусы... Тут главное гибкость подхода с не сильно усложнённой реализацией и чтобы это было доступно только по желанию пользователя, т.е. не усложняло того, что уже есть... Ещё может быть такой подход: парсинг в 2 этапа... Первый парсинг делается на всё, как обычно, но в атрибутах парсятся не атрибуты, а только создаются в магазине Группы атрибутов. Или наоборот парсить только основное, без чего не создастся товар, а остальное - вторым проходом... Даже не обязательно парсить все ссылки, достаточно выбрать часть ссылок с разных категорий, а потом по ошибкам вычислить, какие же Группы атрибутов не создались и допарсить. Вторым проходом уже заполняются ранее созданные Группы атрибутов самими атрибутами, остальные существующие данные не трогаются... Это может быть похоже на то, как в АОП реализовано создание Категорий. Возможны разные подходы, главное, чтобы это не порождало ошибки... ну и понятно, что эт оне для массового пользователя, но энтузиасты, которым это понадобится всегда найдутся...
  16. Это только общая схема, как парсить... Т.е. каждый диапазон Группы атрибутов необходимо конечно выделять... а как по другому ? Но это всё же лучше, это будет в границах одного проекта, а сейчас только: дубль проекта на каждую Группу атрибутов... ( И это каждый дубль проекта необходимо прогонять, чтобы догрузилась следующая группа атрибутов... это на больших проектах возможно только с кеша, да и то по времени мрачно... Можно, конечно, крон подключить к решению проблемы, но это всё так хлопотно получается в итоге, а чем больше хлопот - тем больше в итоге может вылезти ошибок... ------------------------------------------------- А дальше делаем что-то типа такого: Ну и должно быть всё так же , как и остальное у Вас сделано: гибко и изменяемо. Т.е. я могу, например, с Группы атрибутов Видео залить атрибуты себе в спарсенную с донора Группу атрибутов Видео или при желании залить атрибуты с неё, сделав выбор, как сейчас реализовано, в уже существующую на сайте Группу Видео&Аудио... Если её вообще не трогать и реализовать так, что сами атрибуты и группы атрибутов сводятся воедино уже на этапе, как на картинке выше. И не обязательно, чтобы атрибуты попадали именно в те группы атрибутов, откуда они парсились, выбор по желанию... Извините, если может где-то не совсем понятно написал или дал немного противоречивую информацию... но у меня в голове эта схема пока тоже только выстраивается...
  17. <p>Основні характеристики</p> <p>Дисплей</p> Это границы для Группы атрибутов "Основні характеристики" <div> </div> Это повторяющиеся границы... Сами характристики парсим только с этого диапазона. Название Группы атрибутов "Основні характеристики" так же не проблема спарсить. Итого в пределах одного диапазона границ мы получаем и Группу атрибутов и сами атрибуты с их значениями. <p>Дисплей</p> <p>Процесор</p> Это границы для Группы атрибутов "Дисплей" И так далее...
  18. Наверное как-то так выглядеть...чтобы можно было добавлять группы атрибутов и в них атрибуты... Сама строка может выглядеть как угодно, хоть так: 1Название1{csvnc}1Значение1{csvnc}1Название2{csvnc}1Значение2{csvnc}1Название3{csvnc}1Значение3 - для 1-ой группы атрибутов 2Название1{csvnc}2Значение1{csvnc}2Название2{csvnc}2Значение2{csvnc}2Название3{csvnc}2Значение3 - для 2-ой группы ... Ручной труд реализуем только на небольших проектах... ( Например, на сайте со 100k товаров с различным ассортиментом товаров не очень представляю себе количество Групп атрибутов и самих атрибутов...
  19. Я про такое не писал и не понимаю что Вы этим хотите сказать. Я писал про свою потребность атрибуты загружать в Группы атрибутов по тематике... видео - в видео, звук - в звук и т.д. Сейчас я это могу делать, но через большие неудобства... костыли, но по другому пока вопрос не решить... на сегодня нет в модуле возможности массово загружать каждый атрибут в свою Группу атрибутов. При большом количестве товаров и большом количестве Групп атрибутов у донора эта задача становится весьма сложно реализуемой.
  20. Это просто человеческий фактор и он всегда будет присутствовать. А вот взять карточку товара, например, современный телевизор, смотрим его характеристики, где может быть запросто около полусотни атрибутов. Одни описывают свойства экрана, другие свойства звуковой системы, третьи об энергосбережении, мощности и пр. Когда всё это идёт вперемешку стройными рядами по алфавиту по умолчанию по стандарту Opencart... что тут скажешь... А по логике это разбивается на 6-10 групп, чтобы каждый быстро нашёл то, что его больше всего интересует в данном девайсе... Интересно будет посмотреть и попробовать )
  21. То же самое спрашивал про Группы атрибутов... ответ: ждём скрипты ) А ведь характеристики без Групп атрибутов - как бусы разного цвета без нити. Все перемешаны как попало и потом попробуй разложить по полкам...
  22. Вы хотите получить цену, где писалось бы перед ценой "от" ? {reg[#[^0-9,.]#]}| это оставит только цифры и знаки разделители {reg[#[(^0-9,.)]#]}| это удалит цену и оставит всё, кроме неё {reg[#^#]}|от - это добавит в начало любой текст можете использовать разные варианты, чтобы получить желаемый результат Такая регулярка не нужна. Во-первых менять "от" на "0" нет никакого смысла в цене. Во-вторых, между "от" и ценой обязательно стоит горизонтальный (а может и вертикальный) разделитель, как минимум один. В третьих, а что если в другом месте будет стоять не "от", а "От" или "ОТ" или ещё что-то... маловероятно, но всякое случается... {reg[#^(.*?)(\d)#]}|$2 - это будет универсальнее. Пропустит всё, что идёт до первой цифры
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.