Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Recommended Posts

Ну что как работает поиск замена ? 
а то я работаю над новыми плюшками. Вроде проблем нету, да и отзывов нету. 

Надіслати
Поділитися на інших сайтах

13 часов назад, Rassol2 сказал:

дак а чем я вам могу помочь если ошибку создает не мой модуль ? 
 

к модулю нареканий нет ,...вообще.... на другом таком-же моем сайте работает отлично, что удалить?  чтоб ставился нормально ? 

Надіслати
Поділитися на інших сайтах


Только что, ArgoDon сказал:

к модулю нареканий нет ,...вообще.... на другом таком-же моем сайте работает отлично, что удалить?  чтоб ставился нормально ? 

это нужно смотреть что написано в строке которая указана в ошибке 
 

Надіслати
Поділитися на інших сайтах

1 минуту назад, ArgoDon сказал:

придушу чичас все что нужно и не нужно... )))

покажите что у вас написано в той строке на которую выводит ошибка. И я попробую подсказать. 

Надіслати
Поділитися на інших сайтах

строка 386-388

if (!empty($data['filter_name'])) {
            $sql .= " AND pd.name LIKE '" . $this->db->escape($data['filter_name']) . "%'";
        }

 

, файл- /http/admin/model/catalog/product.php    этот файл,строка  ?

Змінено користувачем ArgoDon
Надіслати
Поділитися на інших сайтах


4 часа назад, ArgoDon сказал:

строка 386-388

if (!empty($data['filter_name'])) {
            $sql .= " AND pd.name LIKE '" . $this->db->escape($data['filter_name']) . "%'";
        }

 

, файл- /http/admin/model/catalog/product.php    этот файл,строка  ?

не тот файл 
/http/system/storage/modification/admin/model/catalog/product.php on line 386
Это модифицированный. В него внесены изменения. И там будут другие данные в этих строках. 

Надіслати
Поділитися на інших сайтах

Обновление 1.3

Для вас наверное покажется маленькое внедрение, но все же я изрядно потрудился. И уверен что даже половину не смог оттестировать. 
Ну что перечислим что новенького.

Добавлен пред просмотр поиск замена
 

Теперь есть окно куда вы можете занести любой текст и на нем тренировать поиск замену.
 

Спойлер

1.thumb.png.fb97023cb4f7c4e6bc064e2f66008373.png

В поле под номером 1 вы вписываете правила поиск замены. 
В поле под номером 2 вы можете при желании написать любой текст для тестирования ваших правил.
В поле под номером 3 вы увидите результат , преобразования текста что был введен во второе поле вашими правилами поиск замены. 

Поучение границы парсинга для тестирования правил
Так же если необходимо можно получить сразу данные которые парсить данная граница парсинга. И эти данные будут записаны в поле номер 2 для тестирования. 
Думаю будет удобно сразу получить наглядно код который нужно поправить или привести в соответствующий вид. 

Для наглядности нарисую скриншот порядок действий и как это работает. 
Вы зашли в параметры парсинга, поиск замена. И теперь для большего комфорта моете делать так.
 

Спойлер

2.thumb.png.0c070caa0246664fd23f4a9aaa194007.png

1. Выбираете ссылку в выпадающем списке. И жмете спарсить границу. И то что эта граница парсить (В данном случаи ссылку на фото) вы получите в поле Исходный текст.

2. Глядя на исходный текст можете настроить правила поиск замены, что нужно поменять или как в данном случаи удалить не нужные части кода для получения фото без водного знака. 
3. Жмете преобразовать, и к тексту из поля Исходный текст применяются ваши правила из поля Правила поиск замены , а затем результат выводится в поле Текст после обработки

Удобно что бы сразу видеть че там наделали. Кстати часто использую эту функцию не только в сфере парсинга а иногда нужно какие то данные быстро переделать массово. Так что берите на вооружение, так сказать легкий лайфхак. 

Внедрение операторов {skip} и {br}  в поиск замену.
 

В 26.12.2018 в 11:47, Nomandvs сказал:

И еще, будет ли в будущем тег {skip} для обычной и повторяющейся границы?

Готово :)


Оказалось довольно сложно внедрить, и я как то до сих пор не уверен что все гладко получилось. Время покажет ))
Наверное для начала объясню суть механики. А затем покажу один пример. 
Что это за теги:
{skip} - Данный оператор обозначает любой символ или символы, в любом количестве. Но может и не быть ни одного символа. Как то так. На примере будет понятнее. 
{br} - Данный оператор обозначает перенос строки. То есть указан его можно заменить все переносы строки на отступ или еше что то. 
Данные операторы можно применять в первой части правила до |

Опять же поскольку модуль пытаюсь писать как универсальный инструмент, то каждая функция может решать множество задач, и просто расписать зачем они нужны невозможно, поскольку сценариев много и все зависит от вашей фантазии. 

Я попробую показать один пример как можно из куска html кода просто получить атрибуты (характеристики) в нужном формате. Где после простой функции в экселе Текст по столбцам, можно элементарно загрузить все характеристики в магазин через АОП

Пример!!
 

Спойлер

3.thumb.png.d30570a88aaade38d73ded7a4cf7b7d3.png


В исходном тексте виден кусок html необработанного. 
Начнем.
1. Удаляем все заголовки характеристик. Имена групп, то что нам не нужно. 
2. Выбираем тег html который присутствует после имени атрибута, и после значения. Это могут быть 2 разных тега. В моем случаи один и тот же. 
3. Удаляем двоеточие после имени атрибута. Это я так для себя для красоты сделал. 
4. Удаляем все html теги. Да да вы правильно поняли все теги html находятся между символами < > а значит если написать <{skip}>|  буду удалены все теги html. Так сказать расшифровка этого правила <{skip}>| звучит так.
Удали текст который начинается < и заканчивается на > и неважно что внутри. И таким образом мы удаляем все разнообразие html тегов. 
5. Удалить все переносы строки. То же для красоты сделал. 

Конец.

Так же по мелочи сделано много правок всяких косяков. 

Жду ваши лайки дизлайки, идеи, сообщения о проблема, благодарности.

Ну короче все как обычно :) 

  • +1 2
Надіслати
Поділитися на інших сайтах

Добрый день!

Подскажите пожалуйста по этой ошибке:

Fatal error: Can't use function return value in write context in /home/caensy/surround.com.ua/www/admin/model/catalog/simplepars.php on line 190

Это первый запуск модуля. Хотя модификаторы обновил, права дал.

Благодарю за внимание

Надіслати
Поділитися на інших сайтах


1 час назад, Stackand сказал:

Добрый день!

Подскажите пожалуйста по этой ошибке:

Fatal error: Can't use function return value in write context in /home/caensy/surround.com.ua/www/admin/model/catalog/simplepars.php on line 190

Это первый запуск модуля. Хотя модификаторы обновил, права дал.

Благодарю за внимание

если есть возможность напишите мне в лс 
Логин и пароль от админки. 
И данные подключения в фтп. И я все проверю. 

то что описано в ошибке в своих исходниках не вижу. Хотел бы устранить эту проблему. 

Надіслати
Поділитися на інших сайтах

23 часа назад, Stackand сказал:

Добрый день!

Подскажите пожалуйста по этой ошибке:

Fatal error: Can't use function return value in write context in /home/caensy/surround.com.ua/www/admin/model/catalog/simplepars.php on line 190

Это первый запуск модуля. Хотя модификаторы обновил, права дал.

Благодарю за внимание

Все исправил модуль работает. 
Связано скорее всего с вашей версией php  у вас стоит 5.4 и а в те времена не так отрабатывались функции. 
Я полагаю. 
Исправление так же будет внесено в новые версии. 

Надіслати
Поділитися на інших сайтах

Версия 1.3.1

Мелкое обновление внедрил пару изменений.

 

Версия php 5.6 и выше.
Теперь модуль работает на версии php 5.6 и выше. Поскольку на версии 5.4 есть бредовые предупреждения. Но учитывая как активно сейчас пилят пыху (php) 5.4 уже очень древняя и пора отказываться от нее. 

Кто со мной не согласен может считать что я просто неспособен поддерживать модуль для разных версий php 

Добавлен оператор {csvnc}
Оператор {csvnc} обозначает переход на новую ячейку. То есть сдвиг в экселе на одну ячейку в право. 
Это нужно для формирования прайс листа с загрузкой категорий, или атрибутов. 
Допустим раньше через поиск замену, или повторяющиеся границы парсинга мы могли добиться такой записи в ячейке. 
Главная|LED (Светодиоды)|Светодиоды в габаритные огни
Где символ | разделитель значений. Дальше шли в эксель и через функцию Данные -> Текст по столбцам -> Разделитель |
Мы делали прайс который уже можно было скормить аоп. 

Теперь если указать {csvnc} Как разделитель вместо | модуль сам разделит значение по ячейкам эксель. 

Попробую на примере атрибутов показать.

Как было раньше.
Мы получаем вот такой кусок кода с атрибутами. 
9e9210d628.thumb.png.4345df3fd0cfea861064688e45ad80f4.png

Затем через поиск замену можем преобразовать ячейку атрибутов до такого вида. 

 

<th colspan=2>{skip}</th>|
<td>Код товара:</td>{skip}</tbody>|
</td>||
<{skip}>|
{br}|

И получим уже такой результат.
98aa0b5adb.thumb.png.79200f20c77bb83943c3f050f1740258.png

С данной таблицей уже можно работать, разделить ее через эксель и грузить через АОП

Но с появлением оператора {csvnc} 

Заменяем правило поиск замены </td>|| на </td>|{csvnc}
То есть вот так
 

Спойлер

da91b5044b.thumb.png.35e3d7a1170c9cb69f8bf12e2e63b0df.png


После чего на выходе вы получите эксель документа вот такого вида. 
c8a00a06c5.thumb.png.465fed341c31070a916b53dfd148aaa9.png

Где все атрибуты идут по очереди, ровно так как модуль АОП любит принимать.
Все нечетные номера колонок это значение атрибутов. А четные их названия.

Вот скриншот как нужно настраивать модуль Автоматической обработки прайс листов для загрузку атрибутов
Вкладка атрибуты будет выглядеть так. 
http://joxi.ru/823xNW1f99wlGA

И модуль АОП сможете сам создать и загрузить все необходимые вам атрибуты. 


Оператор {csvnc} можно применять в поле поиск замена. И в поле Настройки парсинга -> Разделитель

Спойлер

58dfbe8c70.thumb.png.c14dccbe8a20483c7ff512bfbb3d80dd.png


Конец. 

PS. Думаю для будущей инструкции еше серию видео снять. Пока есть проблемы с звуком и качеством, но тестовое видео как можно быстро спарсить сайт при помощи этого модуля все же записал. Буду знакомится с видео ремеслом. :) 
 

Спойлер

 


 

  • +1 2
Надіслати
Поділитися на інших сайтах

12 часов назад, Zetx сказал:

не совсем понял... модуль бесплатный или доступен по подписке?

Бесплатен полностью.
Функционал уже неплохо наработан, многим будет полезен. Качайте пользуйтесь. 

Надіслати
Поділитися на інших сайтах

27 минут назад, ardashev06 сказал:

а в случае если каталог сайта-донора доступен только после авторизации? :)

Возможно будет реализована в будущих версиях. В текшей версий модуля данной возможности нет.

  • +1 1
Надіслати
Поділитися на інших сайтах


как побороть єтот крестик ?  делаю так- http://prntscr.com/m70lsw    ,  в окне предпросмотра (Текс после обработки) вроде все ок :http://prntscr.com/m70nmg , а при  предпросмотре  перед выводом , такое - http://prntscr.com/m70oiw  ...   

Надіслати
Поділитися на інших сайтах


7 минут назад, ArgoDon сказал:

как побороть єтот крестик ?  делаю так- http://prntscr.com/m70lsw    ,  в окне предпросмотра (Текс после обработки) вроде все ок :http://prntscr.com/m70nmg , а при  предпросмотре  перед выводом , такое - http://prntscr.com/m70oiw  ...   

Это спец символы. Насколько я помню я делал для парсинга преобразования их и в эксель вы должны получить именно ×
Но для вывода в html мне нужно преобразовывать все данные что спарсятся в сущности html и там знак умножения выводится как &times; 
но а поскольку &times; не равно × В пред просмотре этот участок не удаляется. 

Если проблема будет кретической и многим доставлять неудобство я придумаю решение этого вопроса. 

Надіслати
Поділитися на інших сайтах

значение атрибута имело вид -    13 × 13 × 16 cm   ,  мне захотелось его разделить на три части, чтоб занести в карточку товара в "Размеры (Д x Ш x В)", а не могу заставить модуль удалить этот ужасный символ )))     перепробовал варианты - ×||  и  ×|{csvnc}   ,  все равно, остается , живучий..   после вывода в прайс ,ячейка имеет вид - 13 &times; 13 &times; 16 cm, прийдется так оставить.  Подскажите , при парсинге , у донора , на разных страницах, иногда попадается разное количество атрибутов или они переставлены местами , и при выводе в прайс , строки пляшут по листу - http://prntscr.com/m731b6 ,  есть ли какой-либо метод, это побороть или только вручную править. ?

Надіслати
Поділитися на інших сайтах


подскажите немного по фильтру

Не должно быть в ссылках очереди:

/*/shopping_cart/
.jpg
.png
/*/product_opinion/

но все равно они попадают в очередь  Очередь сканирования ссылок

https://сайт/product_opinion/create/r638479892786?page_type=company_site-product_view

https://cdn.сайт/d534556433_w640_h640_screenshot_6.png

https://сайт/shopping_cart/add_item_immediately?product_id=kxNDOMzjM5c.IeryBk4nOnUkwMSeifiq1GS-XMk&source=company_site

 

подскажите как правильно отфильтровать мусорные ссылки?

 

Надіслати
Поділитися на інших сайтах


4 часа назад, ArgoDon сказал:

значение атрибута имело вид -    13 × 13 × 16 cm   ,  мне захотелось его разделить на три части, чтоб занести в карточку товара в "Размеры (Д x Ш x В)", а не могу заставить модуль удалить этот ужасный символ )))     перепробовал варианты - ×||  и  ×|{csvnc}   ,  все равно, остается , живучий..   после вывода в прайс ,ячейка имеет вид - 13 &times; 13 &times; 16 cm, прийдется так оставить.  Подскажите , при парсинге , у донора , на разных страницах, иногда попадается разное количество атрибутов или они переставлены местами , и при выводе в прайс , строки пляшут по листу - http://prntscr.com/m731b6 ,  есть ли какой-либо метод, это побороть или только вручную править. ?

дайте ссылку, я посмотрю как вам сделать. 
И скину правильные значение. Если нет то поправлю код модуля что бы было все ок )
 

Надіслати
Поділитися на інших сайтах

1 час назад, pika4u сказал:

подскажите немного по фильтру

Не должно быть в ссылках очереди:


/*/shopping_cart/
.jpg
.png
/*/product_opinion/

но все равно они попадают в очередь  Очередь сканирования ссылок

https://сайт/product_opinion/create/r638479892786?page_type=company_site-product_view

https://cdn.сайт/d534556433_w640_h640_screenshot_6.png

https://сайт/shopping_cart/add_item_immediately?product_id=kxNDOMzjM5c.IeryBk4nOnUkwMSeifiq1GS-XMk&source=company_site

 

подскажите как правильно отфильтровать мусорные ссылки?

 

/shopping_cart/
.jpg
.png
/product_opinion/

 

Если вот так будет записано то там ссылок быть не должно. 
Можете написать мне ссылку на сайт донор и я проверю все. 

Надіслати
Поділитися на інших сайтах

6 часов назад, ArgoDon сказал:

значение атрибута имело вид -    13 × 13 × 16 cm   ,  мне захотелось его разделить на три части, чтоб занести в карточку товара в "Размеры (Д x Ш x В)", а не могу заставить модуль удалить этот ужасный символ )))     перепробовал варианты - ×||  и  ×|{csvnc}   ,  все равно, остается , живучий..   после вывода в прайс ,ячейка имеет вид - 13 &times; 13 &times; 16 cm, прийдется так оставить.  Подскажите , при парсинге , у донора , на разных страницах, иногда попадается разное количество атрибутов или они переставлены местами , и при выводе в прайс , строки пляшут по листу - http://prntscr.com/m731b6 ,  есть ли какой-либо метод, это побороть или только вручную править. ?

Спасибо за ссылку отвечаю вам, но это полезно будет знать всем. 

Суть проблемы в том что 
На сайте мы видим вот это 
522fe6c8bf.png.1baed0e94e186f5e35d99d32855cc96b.png

но в коде самой странице у нас 

  1. <tr><th>Габариты</th><td
  2. class="product_dimensions">16 &times; 13 &times; 13 cm</td></tr>


Это называется спец символы, сущности или как то так. Не буду рассказывать что бы бреда не наговорить. 
Но суть в том что &times; это html код символа умножение × 
И часто в разметке пишут именно html код. 
Но браузере преобразовывает вам сущность (html код) в символ умножения и вы видите его на экране. 

Для того что бы модуль мог вывести на экран html код по которому мы парсим, все html символы переводим в html код (сушности), в таком случаи он не принимается как разметка и выводится вам в окне пред просмотра. 
Вот по этому мы можем видеть в пред просмотре html код. 

Ну ка кто так. 

 

Если какой то заковыристый символ не удаляется через Поиск замену можно себя проверить, перейдя в раздел настройки парсинга и посмотреть какой html код парсить модуль и какой код попадает на обработку. 

Вот так 
 

Спойлер

97606c66ca.thumb.png.34223044afbeca32454d42fbc1be2aa6.png



теперь ясно почему символ не преобразовывается через поиск замену. Вы в коде он в виде html кода а выводится как символ.
Значит нужно удалять сам код.

То есть разделить ячейку по этому html коду 

Спойлер

1079824664_60f2eb6a78(1).png.4029367f3b41e2717673f05823bbe03c.png




Ну и можно добиться вот такого результата.
 

Спойлер

748addf15d.thumb.png.0fe1eef1c964a5e7febaf2a4dc2e2015.png




@ArgoDon Все настройки остались у вас в форуме. Можете детальнее изучить. 

Как появится время поищу решения, как сделать что бы пред просмотр выводил все символы, и больше не было подобных казусов. Но сама собака зарыта в технологии. 

Надіслати
Поділитися на інших сайтах

ну и как бы еше вот таблица таких символов.
http://htmlbook.ru/samhtml/tekst/spetssimvoly

  • +1 1
Надіслати
Поділитися на інших сайтах

Получаю вот такую ошибку в шапке админки Warning: curl_setopt(): CURLOPT_FOLLOWLOCATION cannot be activated when an open_basedir is set in /var/www/мой_сайт/admin/model/catalog/simplepars.php on line 906

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.