-
Публікації
740 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Усі публікації користувача Axelenz
-
Из хотелок... Удобно было бы, чтобы присутствовало в Изображения (Парсинг в ИМ) поле, где можно было бы указывать ограничение на количество загружаемых фото. Например: Выбираем 1 - загружается только Главное изображение, 2 - Главное и дополнительное 3 - и так далее. ALL - все фото (по умолчанию). И при всех Обновлениях и пр. действиях сохранялась бы логика количества изображений.
-
Спасибо за подсказку. Заменил файлы на нормальные стандартные... пусть разбираются те, кто накосячил, моя работа наполнить магазин товарами не смотря ни на что...
-
Спасибо, всё теперь на русском при выполнении inst.php Но кто-то полазил в контроллере в файлах категорий, производителя и товара и теперь вижу такую картину при загрузке через SimplePars
-
Warning: Cannot modify header information - headers already sent by (output started at /sata1/home/users/sportzona/www/www.*****************/inst.php:1) in /sata1/home/users/sportzona/www/www.********************.com.ua/inst.php on line 3 Модуль SimplePars успешно установлен/обновлен! А это правильный ответ пришёл теперь ? В базе есть файл key с кодировкой cp1251_general_ci
-
Подскажите, на ocStore 3.0.2.0 при выполнении inst.php вылезают кракозябры Модуль SimplePars успешно установлен/обновлен! Где искать проблемы с кодировкой ? есть один файл _key в базе в кодировке cp1251
-
Попробуйте в очередь сканирования хотя бы ведро какое-нибудь бросить, для затравки ) Вот так:
-
Для этого и существуют эти настройки: Делаете в проекте проверку по Производителю, т.е. указываете в этом месте границу Производитель и условия, по которым товар загружать/не загружать. Но поможет в том случае, если донор педантично заполняет поле производитель ) Ну и нужно помнить, что Адидас и Adidas для модуля не одно и то же...
- 13 413 відповіді
-
- 1
-
- simplepars
- парсинг товаров opencart
- (і ще %d)
-
Я не знаю, как с помощью <{skip}> можно привести текст к такому виду, как мне нужно, с выборочным сохранением форматирования текста: Вот так даже можно записать: {reg[#\<(.+)\>\h*\</\1\>#u]}| {reg[#\<(.+)\>\</\1\>#]}| {reg[#\h{2,}#u]}| {reg[#^\s+|\s+$#mu]}|
- 13 413 відповіді
-
- 1
-
- simplepars
- парсинг товаров opencart
- (і ще %d)
-
Всем желающим почистить текст от "паразитных" пустых тегов с пробельными символами или без них, предлагаю использовать регулярные выражения типа: {reg[#(\<.+\>\h*?\</.+\>)*?#u]}| {reg[#^\s+|\s+$#m]}| Текст до и после обработки см. на картинке, там всё понятно...
- 13 413 відповіді
-
- 1
-
- simplepars
- парсинг товаров opencart
- (і ще %d)
-
Так удалить можно, но... а что делать с такой конструкцией, где есть полезный текст: <p><em>Текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст</em></p> Её тоже удалить ?
-
Столкнулся с ситуацией, когда не получается простым способом удалить конструкцию, например, вот такого плана: <p><em> </em></p> Использовать регулярные выражения не вижу смысла, а штатными не получается, предвидя вопрос, сразу отвечаю: и копировал с текста, и вставлял сам пробел и в нотепад смотрел что там... но не удаляется это так просто. Единственный способ, которым снёс, не прибегая к помощи регулярных выражений: <p><em>{.}</em></p>| но этот способ меня не устраивает... мало ли что туда может случайно попасть при ошибке заполнения: цифра или буква... Предлагаю расширить основные операторы в поиск замене на: {_} - Один любой пробельный горизонтальный символ. И туда запихнуть абсолютно все возможные горизонтальные пробельные символы, включая юникодовские... {_*} - группа любых пробельных горизонтальных символов. И чтобы удаляло всю группу последовательных пробельных горизонтальных символов в любой последовательности, пока не встретит НЕ пробельный символ.
- 13 413 відповіді
-
- 1
-
- simplepars
- парсинг товаров opencart
- (і ще %d)
-
{reg[#(\d+)\D+?(\d+)\D+?(\d+)#u]}|$2 Берём по порядку $1, $2, $3 Ну и перевод на человеческий язык: Первая группа из цифр $1 (одна или больше), за которыми следуют НЕ цифры 1-на или больше (нежадный), за которыми следует вторая группа из цифр $2 (одна или больше), за которыми следуют НЕ цифры 1-на или больше (нежадный), за которыми следует третья группа из цифр $3 (одна или больше). Возвратить группу $2 {reg[#[^\d]#]}| или так {reg[#\D#]}| или так {reg[#[^0-9]#]}| Забыл написать, следующую регулярку можно поставить вот эту на тот случай, если у Вас в тексте могут встречаться лишние, например, пробельные символы. Она удалит всё, что НЕ является ЦИФРАМИ. В принципе, возможно написать и одной строкой: {reg[#^\D*?(\d+)\D+?(\d+)\D+?(\d+)\D*?$#u]}|$2 {reg[#^[^\d]*?(\d+)[^\d]+?(\d+)[^\d]+?(\d+)[^\d]*?$#u]}|$2 {reg[#^\D*?([^\D]+)\D+?([^\D]+)\D+?([^\D]+)\D*?$#u]}|$2 {reg[#^[^0-9]*?([0-9]+)[^0-9]+?([0-9]+)[^0-9]+?([0-9]+)[^0-9]*?$#u]}|$2 результат будет тот же...
- 13 413 відповіді
-
- 1
-
- simplepars
- парсинг товаров opencart
- (і ще %d)
-
Добрый день. Спасибо, сделал - заработало... cron на локалке пустой, сохранять мне нечего, поэтому при установке этот пункт пропустил и не предал значения важности этого действия...
- 49 459 відповідей
-
- поставщики импорт
- наполнение им
- (і ще %d)
-
Добрый день. Имею на локалке ocStore 2.3.0.2.3 Пробую установить новый АОП v.9.3 Настройки Open Server 5.2.2 следующие: не получается поставить... Причём, версия 9.2 работает без проблем... Попробовал снова установить 9.1 - устанавливается и работает без проблем с for php7.1. Попробовал снова установить 9.2 - устанавливается и работает без проблем с for php7.2. Попробовал снова установить 9.3 - выдаёт ошибку. Пробовал несколько раз и брал for php7.1 и for php7.2. В архиве for php7.3 к сожалению нет... Получаю: Кто подскажет, куда копать ?
- 49 459 відповідей
-
- поставщики импорт
- наполнение им
- (і ще %d)
-
Прошлый пост по удалению пробельных символов из текста В прошлом сообщении я расписывал несколько регулярных выражений для "чистки" текста от лишних пробельных символов. Но чем хороши регулярные выражения, что почти всегда можно найти, как это реализовать по-другому. Варианты регулярного выражения, которое приводит текст к виду "стих" (с сохранением перевода строки в конце строки) 1. Вариант использует \s - пробельный символ. {reg[#\h{2,}#]}| - тут пробел {reg[#^\s+|\s+$#m]}| 2. Вариант использует \S - непробельный символ. {reg[#\h{2,}#]}| - тут пробел {reg[#^[^\S]+|[^\S]+$#m]}| 3. Вариант использует $1 - захваченную группу. {reg[#\h{2,}#]}| - тут пробел {reg[#^\s+(.*?)\s+$#m]}|$1 4. Вариация из 2-го и 3-го вариантов. {reg[#\h{2,}#]}| - тут пробел {reg[#^[^\S]+(.*?)[^\S]+$#m]}|$1 ... Результат после преобразования:
- 13 413 відповіді
-
- 3
-
- simplepars
- парсинг товаров opencart
- (і ще %d)
-
Может Вы про это: {reg[#<a\s.*?href="(.+?)".*?>(.+?)</a>#]}|$2 Чтобы удаляло - после черты ничего не ставим, чтобы заменить - ставим, на что заменить... Вы задаёте постоянно не конкретные вопросы, но хотите получать на них конкретные ответы. Подумайте над тем, что правильно сформулированный вопрос несёт в себе 50% ответа на него... Когда научитесь задавать правильные вопросы - половина их сразу отпадёт. Автор модуля физически не сможет параллельно с разработкой модуля проводить курсы программирования, изучения html, регулярных выражений и пр. основ сайтостроения и парсинга. Так же, как продавец автомобилей не должен заниматься обучением вождения... Что значит возвращать содержимое ? Чтобы вернуть то, что уже есть - не нужно ничего с ним делать. Чтобы удалить - после "|" оставляем пустое место, т.е. заменить на "пусто". Чтобы заменить - после "|" подставляем на что меняем...
- 13 413 відповіді
-
- 1
-
- simplepars
- парсинг товаров opencart
- (і ще %d)
-
Это удаляет ссылки, а Вы пишите про оставить ссылки на производителей...
-
\s включает в себя и \t в том числе
-
{reg[#\v{2,}#]}|{br} {reg[#\h{2,}#]}| - тут пробел {reg[#^\s+|\s+$#m]}| Человеческим языком: Первым выражением сводим все дубли вертикальных переносов к одному {br}. Вторым выражением сводим все горизонтальные пробельные символы к одному " ". Третьим - убираем в каждой строке в начале и в конце любые оставшиеся пробельные символы. Получаем полную зачистку от лишних пробельных символов... \s - любой пробел (такой же как [\t\n\r\f]) \h - горизонтальный разделитель. Табуляция, пробел и все символы в Unicode категории «разделители» \v - вертикальные разделители. новая строка и все символы «разделители строк» в Unicode Конкретно в Вашем случае, amd4 может и достаточно было бы {reg[#^\s+|\s+$#m]}| но... для того, чтобы понять это, необходимо спарсить всё в csv и проверить... Лично я всегда перестраховываюсь и вставляю формулы с разумной избыточностью... не всегда на сайтах встретишь "чистый код" ( Рекомендую всем начинающим взять себе на заметку и не задавать автору модуля одни и те же вопросы изо дня в день. То, что описано выше помогает получить, например, Описание товара, с сохранением существующих переносов строки. Как пример - стихи. Если перенос строки не важен (простой текст), то рекомендую использовать более простой вариант "метлы": {reg[#\s{2,}#]}| - тут стоит пробел. Его не видно, но он там есть! {reg[#^\s+|\s+$#]}| Первое правило превратит ВСЕ (от 2-х и больше) пробелы, табуляции, переводы строк и пр. в один пробел. Второе правило - обрежет любой пробельный символ в начале и в конце текста. Ну а дальше можно отталкиваться от того, что Вы хотите получить, какой вид текста. Если даже этих двух способов очистки Вам явно не хватает - изучайте, что такое обычная граница парсинга, что такое повторяющаяся граница парсинга... В справке есть ответы на 99% возможных вопросов, а 1% автор умышленно оставил пользователям для нашего же развития )
- 13 413 відповіді
-
- 4
-
- simplepars
- парсинг товаров opencart
- (і ще %d)
-
Чтобы не рассекречивать свой супер-пупер-шмупер засекреченный проект, которого даже в интернете не найти, воспользуйтесь самым простым способом избавиться от пустот: {reg[#\s{2,}#]}| - тут стоит пробел. Его не видно, но он там есть! {reg[#^\s+|\s+$#]}| Первое правило превратит ВСЕ пробелы, табуляции, переводы строк в один пробел. Второе правило обрежет пробел в начале и в конце. Ну а дальше можно отталкиваться от того, что Вы хотите получить, какой вид текста. Есть одна простая зависимость: чем сложнее необходимо регулярное выражение, чтобы достать нужную информацию - значит тем меньше пользователь читал справку автора модуля... Как правило, всегда можно обойтись самыми простыми наборами регулярок, автор модуля уже всё продумал и решил за нас... ) Как он правильно показывал в недавних сообщениях, почти под каждую задачу можно найти не один а несколько способов решения. Чем проще решение - тем оно красивее с точки зрения логики...
- 13 413 відповіді
-
- 2
-
- simplepars
- парсинг товаров opencart
- (і ще %d)
-
{reg[#\s{2,}#]}| {reg[#^\s+|\s+$#]}| {reg[#^(.*?)([ ]|_)(\d{1,})$#]}|$3 И вот такая регулярка поможет Вам.
- 13 413 відповіді
-
- 1
-
- simplepars
- парсинг товаров opencart
- (і ще %d)
-
Парсер выполняет свою задачу - парсит всю информацию о товаре, для чего он изначально и предназначен. Поэтому обвинять его в том, что что-то там не работает в самой CMS это всё равно, что обвинять Mercedes-Benz в том, что их автомобили плохо ездят на бензине, разбавленном ослиной мочой... Ну да, нет идеальных CMS, но никто и не заставляет выбирать именно Opencart... есть прекрасная поделка Wordpress )))
- 13 413 відповіді
-
- 1
-
- simplepars
- парсинг товаров opencart
- (і ще %d)
-
У меня там никак не меньше разных правил... Поэтому не хочу все яйца класть в одно лукошко ) ---------------------------------------------------------------------- Из разряда хотелок... Иногда по ходу пьесы получается, что создаются разные границы в качестве вспомогательных или для опытов... а потом забывается, что реально задействовано и необходимо, а что уже можно удалить, чтобы не захламлять проект. Так вот было бы не плохо, если бы можно было визуально отличать границы, которые реально задействованы в проекте от тех, которые не используются (при парсинге в ИМ или CSV)... Да, если их десяток, то можно и так удалить, но если их сотня ? Может с помощью выделения или наклонным или меньшим шрифтом или в тумане... не знаю как, но чтобы было понятно, что эта граница нигде не используется в проекте и может быть при желании удалена или вообще кнопка типа "очистить проект от не задействованных границ", но это уже слишком... думаю, что это избыточно и может быть даже не желательно...
-
И спасибо Вам за такую возможность. Раньше я всё это делал в Excel, но ручной труд это скучно, поэтому я всё по самому максимуму переношу в проект один раз и навсегда. Зачем делать повторяющиеся действия, если это можно сразу задать при парсинге. А количество большое потому, что у клиента такой запрос, фильтровать Наименование на наличие запрещённых слов... и список слов. Не загружать некоторые категории и список категорий из более 600 всего категорий на сайте-доноре. Поэтому меньше ну никак не получается... Но может и можно как-то это всё сделать так, чтобы группировать можно было ? Не говорю про текстовый файл, а именно, чтобы всё запустить в один столбец, построчно ?
-
Не факт... ) У меня в одном постоянном проекте около полусотни проверок как по цифрам, так и по не нужным категориям, запрещённым словам в наименовании, которые находятся все в одном месте, а именно в "Настройки допуска к обработке страницы" и плюс клиент может сказать, что на этот раз граница не 100, а 10 или на этот раз пару категорий пропускаем... Поэтому лично мне вариант с разбрасыванием проверок по всему проекту ну никак... Я даже наоборот, выступаю за модульность. Чтобы всё что касается какой-то конкретной операции, например, проверки или замены, было максимально сфокусировано именно в этом блоке. Дабы избежать в дальнейшем не нужных вопросов: "почему у меня не работает" и "ой, а я то совсем забыл что оно у меня там стоит..." )