Новости Joomla

Reset Media Version v.2.0.0

Reset Media Version v.2.0.0

Reset Media Version v.2.0.0. Плагин для Joomla!Плагин выводит кнопку, для быстрого обновления версии медиафайлов Joomla.Простой способ обновить кэшированные CSS/JS файлы в Joomla.При обновлении стилей и скриптов на сайте браузеры часто загружают старые версии из кэша, даже если файлы на сервере изменились. Это приводит к несоответствию отображения сайта и путанице у пользователей или клиентов.👩‍💻 Решение проблемыЭтот плагин добавляет кнопку на главную панели управления Joomla (в группу Quick Icon), которая позволяет администратору вручную сбросить системную версию медиа-файлов, чтобы все CSS и JS ресурсы начали подключаться с новым параметром версии (

?ver=...). Это принудительно обновляет кэш браузеров и CDN.Системные требования- Joomla >= 4.2 / 5.x- PHP >= 7.4Разработчик - участник нашего сообщества Артём Васильев (@kernusr)Скачать с GitHub#joomla #расширения #разработка

Логирование действий пользователя в Joomla. Создание плагина Actionlog

Логирование действий пользователя в Joomla. Создание плагина Actionlog

Логирование действий пользователя в Joomla. Создание плагина Actionlog.На вашем сайте, внутреннем портале, в интернет-магазине кто-то что-то сделал, а потом всё сломалось: сайт открывается криво (или не открывается вообще?), перестали работать фоновые задачи в планировщике, установились неправильные скидки всем пользователям на все товары... Предположим, что с безопасностью у вас всё хорошо: Joomla свежая, актуальная, расширения - тоже. Да и в логах сервера и логах Joomla тоже чисто... Тогда остаётся ещё один источник информации - Лог действий пользователей Joomla. Основная его задача - помочь быстро найти кому настучать по рогам причину и устранить её.Всё, что связано с действиями в админке - может логироваться: от обновления системы и компонентов, изменения настроек до редактирования и сохранения конкретных элементов (статьи, товары, категории и т.д.) и загрузки файлов через медиа менеджер. Нередко этот функционал помогает найти тех контент-менеджеров, кто дублирует названия товаров, создавая дубли и тем самым негативно влияя на SEO. Или же вдруг обнаруживается недозаполненная, но опубликованная карточка товара, которой не должно было быть, но она появилась. И ладно если б это был единичный случай...Читать статью на Хабре#joomla #разработка #php

0 Пользователей и 1 Гость просматривают эту тему.
  • 17 Ответов
  • 18306 Просмотров
*

alexx2007

  • Захожу иногда
  • 145
  • 9 / 1
Всем привет.

Может кто-нибудь поделится бы файликом внешней обработки ert для 1с 7.7 для выгрузки в csv для exim7.1?

Ну или любой другой, рабочий. Тут уж я думаю разберемся.
Ковыряю сейчас вот стандартный модуль вывода прайса (price.ert), думаю они родня, только чет не все мне в нем понятно.
Дал бы кто-нибудь рабочий пример выгрузки, ознакомиться. Полезная вещь.

Весь инет облазил и есессна нифига не нашел, все денег хотят, причем платить надо на деревню хитрому безымянному дедушке.
Сам сильно в 1с не рублю, а язык 1С меня просто мягко сказать раздражает... Причем, понимаю, что обработка эта ваще простяцкая сто пудово.

Товарищи, не жадничайте!
Если бы у меня было 2 кг мандарин, я бы с вами поделился...
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
не понял половину терминов, но что хотел бы уточнить - требуется просто выгрузка товаров в формат csv с определенными разделителями товаров из базы сайта магазина? Тогда причем тут язык 1С? Либо чего то не понимаю
Если же первое то достаточно просто самому написать, делаем SELECT нужных полей, после в цикле foreach пишем все это в строку
Код: php
$content .= "$articul;$name;$category;$intro;$full;$price;$discount;$special;$imgthumb;$imgfull;$mf;$moreimg\n";
и далее пишем в файл (не забываем перекодировать из UTF в 1251, иначе ексель может некорректно отображать, не знаю в какой кодировке работает 1С, просто предполагаю)
Код: php
$data = date('Y-m-d-His');
$exportFileName = 'components/com_vmexport/tmp/'.$data.'.csv';
$file = fopen($exportFileName, 'wt')
fwrite($file, $content);
fclose($file);
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

alexx2007

  • Захожу иногда
  • 145
  • 9 / 1
не понял половину терминов, но что хотел бы уточнить - требуется просто выгрузка товаров в формат csv с определенными разделителями товаров из базы сайта магазина? Тогда причем тут язык 1С? Либо чего то не понимаю
Спасибо за ответ, но все с точностью до наоборот. Мне нужна обработка для 1С, модуль, который ВЫГРУЖАЕТ из базы 1С текстовый файл csv с разделителями.

Почему пишу в этот форум? Потому, что на форумах 1С люди шарахаются только от одного слова "Интернет-магазин на PHP". Может притворяются канеш, только вот на встречу так никто и не пошел.
Хотя задача для шарящего в 1С - два пальца.
Есть решения на базе XML, только какие-то мудреные. С csv все просто и понятно.

А реально задача выгрузки в том, чтобы составить текстовый файл по алгоритму:

1. Цикл от 1 до Последний элемент номенклатуры
2. Файл .= Элемент.Имя[] + '^' + Элемент.Артикул[] + '^' + Элемент.Цена[] + '^' + Элемент.ЕдИзм[] + и т.д. + '~';
3. Конец цикла

Что-то вроде того. Канеш там будут еще проверки на вложенность категорий и т.д. Но это ваще не сложно.
Я бы даже согласен был состряпать такую обработку в Delphi, чтобы ее потом кто-нть сконвертировал в 1С, чтобы не мучаться с логикой, тупо перевести на другой язык. Изучать встроенный язык 1С времени просто нет. Конечно, если другого врианта не будет - то придется...

Может у кого завалялась такая обработка, господа!? Мы все тут говорим про загрузку-выгрузку из базы магазина, а вот про базу 1С ни слова, хотя это, получается, тема актуальная.

Если всем вместе этот вопрос решить, то у многих проблем с обменом будет меньше.

Жду предложений, может есть какие-то варианты. Может есть примеры таких обработок для 1С.
Давайте рассмотрим все, касающееся этого вопроса. Не может быть, что ни у кого этот вопрос раньше не возникал...

ps вложением компонент для j1.0 для загрузки номенклатуры из файла csv файл с примером в архиве
Блин, удобный компонент, простой в использовании. Главное - нет к нему обработки, которая бы выдавала файл csv из базы 1С.

[вложение удалено Администратором]
« Последнее редактирование: 25.12.2009, 18:08:51 от alexx2007 »
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
я прошу прощения, но как то давно пару часов смотрел глазами полного барана на 1С ветки 7 и там где то была опция выгрузки данных в CSV стандартными средствами (понятно, что если нужны расширенные отчеты и данные - придется дописывать), но может быть и стандартных средств достаточно?
Прошу прощения за глупые ответы, но 1С под рукой нет, даже посмотреть не могу как там это все организовано
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

alexx2007

  • Захожу иногда
  • 145
  • 9 / 1
я прошу прощения, но как то давно пару часов смотрел глазами полного барана на 1С ветки 7 и там где то была опция выгрузки данных в CSV стандартными средствами (понятно, что если нужны расширенные отчеты и данные - придется дописывать), но может быть и стандартных средств достаточно?
Прошу прощения за глупые ответы, но 1С под рукой нет, даже посмотреть не могу как там это все организовано
У меня есть 1С под рукой. Только что все облазил - не вижу я там возможности выгрузить то, что мне надо. Там есть обработка Прайс-лист. Выплевывает таблу. Его можно сохранить в xls, потом из xls ручками сконвертить в csv. Получится, не спорю. Только есть одно но: прайс печатается в две колонки, наименование товара и категорий в одной и цена во второй. А для загрузки в 1С этого, мягко скажем, не достаточно. Там должно быть разбито на столбцы, категории в одном, товар в другом, цена в третьем и т.д.

Вобще моя цель такая: манагерь на своем рабочем месте тупо жмет на кнопку в 1С (благо ее вынести на панель 1С не составляет особого труда) и у него формируется csv с товарами, ценами, именами файлов картинок и т.д. Он даже может не знать где файл после выгрузки лежит. Создаем ярлык на раб столе, который кидает содержимое директории N на ftp, где лежит сайт, по умолчанию все заменяя. Причем эту процедуру, точно знаю, можно дописать в файл обработки, 1С-ка сама файл закинет куда хош. На серваке заводим в cron расписание обновления, к примеру каждые 30 минут и подсовываем ему модуль загрузки из свежеиспеченного файлика в базу, причем он действительно будет это делать без участия юзера - проверял, запускается и выполняется (канеш, тут все зависит от хостера, есть у него такая услуга или нет). В результате, человеческий фактор сведется к минимуму, а соответственно и необходимость пускать в админки вирта персонал конторы - нефиг им там делать. Да и автоматизация, так сказать, это же будет ахренеть как удобно!
*

alexx2007

  • Захожу иногда
  • 145
  • 9 / 1
Я вот думаю, может есть у кого знакомые чуваки, норм шаряшие в 1С?

Может пригласите их к нам на форум? Зайти, почитать эту тему, может что и подскажут?
*

klimantus

  • Новичок
  • 9
  • 4 / 0
Я вот думаю, может есть у кого знакомые чуваки, норм шаряшие в 1С?

Может пригласите их к нам на форум? Зайти, почитать эту тему, может что и подскажут?
Ты сам можешь легко это сделать если хоть чуть-чуть знаешь программирование:

Код
//*******************************************
Процедура Сформировать ()
СпрТМЦ=СоздатьОбъект ("Справочник.ТМЦ");
СпрТМЦ.ПорядокКодов ();//сортируем по кодам
СпрТМЦ.ВыбратьЭлементы ();
Пока СпрТМЦ.ПолучитьЭлемент ()>0 Цикл
Если СпрТМЦ.ЭтоГруппа ()=1 Тогда
Продолжить;//пропускаем группу (мне не надо выводить)
КонецЕсли;
Сообщить (СпрТМЦ.Наименование);//вместо этого - запись в файл
КонецЦикла;
КонецПроцедуры

ещё надо помнить что группы в 1С - это такие-же элементы справочника, просто из реквизитов только код и наименование, а у подчинённых элементов есть реквизит родитель.
*

alexx2007

  • Захожу иногда
  • 145
  • 9 / 1
Ты сам можешь легко это сделать если хоть чуть-чуть знаешь программирование:
Дружище, спасибо большое. Ты мне реально помог. Часто, когда человек хочет что-то сделать, ему достаточно первого рывка :)
Дальше я сам.
оправил твой код чисто интуитивно и чуть содрал с форума 1С и получил вот это:
Процедура Сформировать ()
   Т=СоздатьОбъект ("Текст");
СпрТМЦ=СоздатьОбъект ("Справочник.Номенклатура");
СпрТМЦ.ПорядокКодов ();//сортируем по кодам
СпрТМЦ.ВыбратьЭлементы ();
Пока СпрТМЦ.ПолучитьЭлемент ()>0 Цикл
   Если СпрТМЦ.ЭтоГруппа ()=1 Тогда
      Продолжить;//пропускаем группу (мне не надо выводить)
   КонецЕсли;
   Т.ДобавитьСтроку (СпрТМЦ.Наименование+";");
КонецЦикла;
    Файл="export.csv";
    Т.Записать (Файл);
    Сообщить ("Файл с данными "+Файл+" сохранен в каталоге пользователя);
КонецПроцедуры
Открыл ОпенОфисом - И ВУАЛЯ! Список товаров...
Пока без цены, но все остальное по образу и подобию...

Еще раз спасибо.

ps Для всех скажу, что как закончу, расскажу в деталях как собирал и что делал.
« Последнее редактирование: 25.12.2009, 20:35:27 от alexx2007 »
*

klimantus

  • Новичок
  • 9
  • 4 / 0
А я тут ещё придумал проблему :)
если менеджер где-нибудь в тексте товара вставит точку с запятой, то поедут поля.

Может, лучше использовать разделитель \t?..
(т.к. при редактировании текста в 1С в него тяжело вставить символ табуляции)
*

alexx2007

  • Захожу иногда
  • 145
  • 9 / 1
А я тут ещё придумал проблему :)
если менеджер где-нибудь в тексте товара вставит точку с запятой, то поедут поля.

Может, лучше использовать разделитель \t?..
(т.к. при редактировании текста в 1С в него тяжело вставить символ табуляции)
Разделителями текста является ~ и ^ для полей. Вряд ли кто-нибудь будет использовать эти символы в названии или описании товара.
Обработку я состряпал, выгружает из 1С файл csv который подходит под компонент exim71 (выложен выше). Кому интересно - поделюсь опытом. Работает на ура. Одна проблема возникла при выгрузке более 10к позиций - скрипт возвращает белую страницу по таймауту, пришлось на сервере увеличить время жизни php скриптов в файле .htaccess, прописав php_value max_execution_time 60, увеличили время жизни скрипта с 30 до 60 сек. А в остальном, прекрасная Маркиза...
*

klimantus

  • Новичок
  • 9
  • 4 / 0
при выгрузке более 10к позиций - скрипт возвращает белую страницу по таймауту, пришлось на сервере увеличить время жизни php скриптов в файле .htaccess, прописав php_value max_execution_time 60, увеличили время жизни скрипта с 30 до 60 сек. А в остальном, прекрасная Маркиза...
:)

насчёт максимального времени выполнения скрипта - можно поиграть с ним, написавши вместо INSERT / UPDATE нечто вроде
Код: sql
INSERT DELAYED INTO foo (key) VALUES ('key') ON DUPLICATE KEY UPDATE bar='newBar';
или
Код: sql
REPLACE DELAYED ...

(http://bugs.mysql.com/bug.php?id=849)

у меня еженощно обновляется база из 21000 товаров с 18 полями для каждого, после переработки скрипта скорость возросла раз в семь
« Последнее редактирование: 12.01.2010, 12:23:38 от klimantus »
*

alexx2007

  • Захожу иногда
  • 145
  • 9 / 1
Слушай, клево!
Попробовал, получилось. Действительно увеличилась скорость. Спасибо.

Разделителями текста является ~ и ^ для полей. Вряд ли кто-нибудь будет использовать эти символы в названии или описании товара.
Обработку я состряпал, выгружает из 1С файл csv который подходит под компонент exim71 (выложен выше). Кому интересно - поделюсь опытом. Работает на ура. Одна проблема возникла при выгрузке более 10к позиций - скрипт возвращает белую страницу по таймауту, пришлось на сервере увеличить время жизни php скриптов в файле .htaccess, прописав php_value max_execution_time 60, увеличили время жизни скрипта с 30 до 60 сек. А в остальном, прекрасная Маркиза...

Очень интересует, подскажите, пожалуйста. Правда, уже вроде получилось, все равно большое спасибо.
У меня такой вопрос, а можно сделать испорт автматически. Я могу написать, чтобы в ночь у меня выгружался нужный файл. У меня так обычный прайс генерится. Но как при этом запустить сам импорт ума не приложу  >:( Компонент уже себе поставила
« Последнее редактирование: 27.01.2010, 07:20:48 от borisova_tanka »
*

alexx2007

  • Захожу иногда
  • 145
  • 9 / 1
Компонент для "автомата" не подходит, мне пришлось перелопатить модуль загрузки полностью, т.к. запускать автоматически - это значит с помощью crontab на сервере. Вот у меня на хостинге стоит Linux, как наверное у многих, и есть возможность запускать скрипты с помощью crontab, это один из сервисов хостера. А компонент по своей структуре не подходит для запуска с помощью crontab ибо даже кодировка должна быть UNIX, синтаксис, конец строки и т.д. Но общая логика та же.
Прикреплю файлик, посмотри.
Сразу скажу по функционалу: я все "лишнее" для меня из файла убрал, типа Цена в зависимости от количества и т.д. и многое исправлено конкретно под мои задачи, поэтому разбираться в нем будет не просто.
У меня загрузка такая: убивается весь товар из базы и потом загружается из файла price.csv все по-новой. Причем с картинками я поступил хитро, у меня имя файла картинки совпадает с кодом номенклатуры в базе 1С, который в последствии становится ID товара в базе VirtueMart, поэтому на счет картинок я не заморачиваюсь, они у меня даже после полного удаления товаров из базы и загрузки по-новой не пропадают, разве что нововведенный товар не имеет картинки. А в 1С я сделал некоторые усовершенствования и теперь там в карточке Номеклатуры можно выбрать картинку товара и "послать" ее одним нажатием по ftp на сервак сразу в папку shop_image/product, 1С-ка сама меняет картинке имя и разрешение и втыкает на сервак и, даже после удаления товара, картинка остается на месте. Гут.

[вложение удалено Администратором]
« Последнее редактирование: 28.01.2010, 23:13:52 от alexx2007 »

alexx2007 , спасибо большое. Буду разбираться. А я вчера как раз выгрузку из 1С по тот импорт сделала, переделаю если надо будет. А там пример price.csv есть? Мне как раз такой вариант загрузки лучше всего подходит, только меня смущала потеря картинок. Вроде поняла, как ее решить. Еще раз спасибо. Только я сейчас не на серваке делаю, а на своем компе с виндой, поэтому пока не знаю как потестировать ... буду думать
*

wishlight

  • Гуру
  • 5039
  • 307 / 1
  • От 300 руб быстрый хостинг. Сервера.
Глючит. Не понравилось. Хотя загрузило.
*

dimasik38ru

  • Новичок
  • 4
  • 0 / 0
А для 1С версии 8.1 и 8.2 обработачки случаем нет?!
*

frag79

  • Давно я тут
  • 611
  • 61 / 0
А для 1С версии 8.1 и 8.2 обработачки случаем нет?!
вот тут _http://joomla-support.ru/thread10828-2.html есть бесплатная обработка.
Сам пробовал в качестве эксперимента на Denver, 1С:Предприятие 8.1 (8.1.9.57) "Управление торговлей", редакция 10.3 (10.3.7. и VirtueMart 1.1.3)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка выгрузки в Я-маркет. Дубль товаров

Автор Vir

Ответов: 2
Просмотров: 2503
Последний ответ 06.06.2010, 01:58:00
от puzzin
Поделитесь CSV Improved

Автор voland

Ответов: 1
Просмотров: 1662
Последний ответ 24.09.2009, 14:21:35
от Sulpher