Тэг ‘cms’

joomla размещаем баннер после статьи - frontpagebanner мамбот

Наткнулся на интересный мамбот для Joomla! - (кто-то может называть его плагином) FrontpageBanner .

Мамбот FrontpageBanner позволяет разместить на главной странице сразу после первой статьи баннер. То есть баннер (модуль баннеры) выводится в основной части сайта сразу после статьи. Возможности по настройке баннеров (какого выбрать рекламодателя или баннер) и более подробную информацию можно откопать на форуме мамбота.

Кстати, если плагин frontpagebanner обрабатывает информацию в колонках (right, left) - выводит “ненужный” баннер в блоке одного из модулей,  следует для модуля отключить мамботы…

Мамбот FrontpageBanner  выводит баннер после первой новости на главной странице… никакого другого функционала в нем не запланировано…

http://joomlaforum.ru/index.php/topic,7409.html - тут можно поближе познакомиться с мамботом-плагином FrontpageBanner.

Что самое интересное, о существовании сего плагина узнал по результатам его работы - наблюдался “непонятный” вывод баннеров на статических страницах . (не только на главной! :)) Чтобы модуль выводил баннеры на всех страницах после контента следует подправить файл bot_frontpagebanner.php
if ($view == ‘frontpage’) заменить на if (1)
именно так и выглядел “непонятный” вызов баннера.

Его можно использовать для вывода любого другого модуля (возможно, более уместен будет контекст, хотя, для его отображения, пожалуй целесообразно использовать специфические модули - Google Adsense Mambot, например ) - достаточно слегка подправить файл bot_frontpagebanner.php - следует найти строку
include($mosConfig_absolute_path . ‘/modules/mod_banners.php’);
и заменить её на вызов требуемого модуля:
mosLoadModules ( ‘position_name’, -1 );

Вообще, код плагина можно использовать как основу для написания мамботов для joomla.

Удачи в использовании плагина frontpagebanner на собственных joomla-сайтах! Если вы придумали оригинальное использование - сообщите в комментариях.. Возможно, оно окажется полезным или интересным кому-нибудь ещё…

Опубликовано Февраль 24, 2010 | автор: levik  |  Нет комментариев »

Импорт csv в virtuemart - Simple CSV (часть 2)

Не так давно публиковал заметку о реализации импорта csv в virtuemart

Когда потребовалось повторить установку “мода” Simple CSV - пока читал форум, забыл зачем пошел. :) На десяти страницах форума слишком много “воды” и повторяющихся вопросов. Решил собрать краткий ман-faq по мод-хаку  в одном месте. Может кому-нибудь окажется полезным.

Хак для версии virtuemart 1.0.*
Для более новых версий - см. CSVImproved http://joomlaforum.ru/index.php/topic,42648.msg407103.html#msg407103

http://joomlaforum.ru/index.php/topic,8340.msg87750.html#msg87750 - тут последняя (на дату написания поста) версия Simple CSV. Попутно стоит скачать примеры (на первой странице ветки), и учесть, что в файле параметров параметры надо называть не “Иглы;Размер иглы в СИ”, а просто “Размер иглы в СИ” - возможна ошибка при импорте. В секции товаров (!) в первой строке (заголовок) параметр должен называться  “Иглы;Размер иглы в СИ”.

В файле ps_simple_csv_aliases.php соответствия между заголовками импортируемого файла и полями в базе. Дополнительные поля могут не загружаться, так как в базу пишет функция Virtuemart’a - подправлять следует её.

Модифицировал галочку “проверять товары” (при включенной галочке - все товары, отсутствующие в загрузке “распубликовываются”) - сделал распубликование всех товаров перед загрузкой - запрос из нескольких тысяч in (,,,) почему-то не срабатывал..

Импорт атрибутов
В ps_simple_csv_aliases.php строчки
‘Атрибут’ => ‘attribute’,
‘Атрибут определенный нами’ => custom_attribute’,
на самом деле должны быть
‘Атрибут’ => ‘product_advanced_attribute’,
‘Атрибут определенный нами’ => ‘product_custom_attribute’,
Теперь буду мучать картинки =)

А как залить товар в несколько категорий?
Указать путь к категориям через запятую, или точку с запятой или палку. Смотря какой у вас разделитель данных. Стоит быть внимательным - добавляйте категории без пробелов - возможно “дублирование”/создание “лишних” категорий.

Категории, содержащие запятую (точку с запятой или вертикальную черту) могут грузиться как несколько категорий. Для того, чтобы избежать подобного “разделения одной категории”, в строке ~805 файла ps_simple_csv.php следует убрать или закомментировать ненужный разделитель..
if( !is_array($paths) ) $paths = explode(’,', $paths);

  Разделяем превьюшки и основные изображения по разным папкам: создаем нужный каталог (например resized) для и в csv пишем “resized/image1.jpg” и т.д.

Разные цены, в зависимости от количества товара:
А можно ли сделать чтобы отображалось 3 цены товара? При этом магазин у меня работает как каталог, т.е указать например, что при покупке 100 игл цена 600р, а при покупке 500 игл цена 580р, а при покупке 1000 игл цена 550р. Как это мне можно сделать думаю, что это можэно сделать через “Параметры товара”, я прав???
В версии 4 и ниже - если нужны именно цены, то сделать это можно через цены, а если просто для информаци, то через параметры можно. Через цены пока можно лишь разом загружать цены для разных групп, для возможности загружать цены и для разного количества товара - проверить в файле ps_simple_csv_aliases.php строку №123 заменить на:

'/Цена для группы "(.+?)"(?:(?:.*?)(\d+)(?:.*?)(\d+))?/' =>
'product_prices|shopper_group_name|price_quantity_start|price_quantity_end',

Для версии бета-5 добавлена возможность добавлять “сложные цены” в следующем формате

Цена для группы “<название группы покупателей, сначала это обычно -default->”[[что угодно]<число от>[что угодно]<число до>]

Правильно: Цена для группы “-default-” количество от 3 до 7
Неправильно: Цена для группы “-default-” количество от 3
Правильно: Цена для группы “-default-” 3 - 7
Правильно: Цена для группы “-default-”, 3 7
Правильно: Цена для группы “-default-
Если до много - пишем что-то вроде 3-99999 - http://joomlaforum.ru/index.php/topic,8340.msg89584.html#msg89584 - тут с примером разбора.

При загрузке двух колонок  (артикул, цена) - т.е. выгрузка используется только для обновления цен на сайте, следует подправить 883 строку файла на

if( $csv_data['manufacturer_id'] ) {

Fatal error: Allowed memory size of … bytes exhausted (tried to allocate … bytes) in - ошибка возникает при нехватке памяти скрипту. Следует уменьшать либо количество товаров в файле, либо по возможности убрать “лишнее” - описания, которые не меняются и подобное.

При длительной загрузке прайса, возможно, поможет

define( 'RG_EMULATION', 0 ); в файле globals.php

Несколько изображений в virtuemart - http://forum.virtuemart.net/index.php?topic=18473

Настройка разделителей по умолчанию - в product.simple_csv_upload.php
<input type="radio" name="csv_delimiter" checked="checked" value=";" />

Замеченные глюки с ценой:
- указание цены с пробелами;
- в меню “Информация о магазине” не выставлена валюта “валюта = рубль” - может повлиять на импорт цен;
- добавить в файл импорта поле product_currency с содержимым руб. (видимо, альтернатива предыдущему решению)

Сохраняем связанные товары  http://joomlaforum.ru/index.php/topic,8340.msg170587.html#msg170587

        // Присваиваем значения выборке из базы
        foreach( $csv_data as $key => $value ) {
          //if($db_data[$key]) $db_data[$key] = $value;
          $db_data[$key] = $value;
        }
		/*##my Додаю для того, аби супутні товари не затирались. Старт ##200802281852*/
		$q  = "SELECT related_products FROM #__{vm}_product_relations ";
		$q .= " WHERE product_id='".$db_data['product_id']."'";
		$db->query($q);
		if( $db->num_rows() ) {$db_data_related_products[] = $db->loadResult();}
		$db_data["related_products"]=$db_data_related_products;
		/* Кінець ##200802281852 */

Если у Вас возникли проблемы с установкой Simple CSV и вы их решили (или не решили) - отписывайтесь в комментариях или на форуме. При появлении новой информации пост по возможности (и желанию) буду обновлять.

Опубликовано Сентябрь 25, 2009 | автор: levik  |  Нет комментариев »

easypopulate - описание формата данных (Oscommerce)

Easypopulate используется для экспорта-импорта данных (csv файлы - открываются в Excel) в магазинах на базе OScommerce. Краткое описание формата данных и некоторая полезная информация собрана в таблице ниже. Поля отмеченные звездочкой являются обязательными для заполнения. Остальные при необходимости можно оставлять пустыми.

Заголовок Описание формата EasyPopulate
v_products_id ID товара (из базы в магазине). Для новых товаров ставим 0 (ноль)
v_products_model* Код товара (артикул)
v_products_image Адрес основного изображения товара (относительно каталога images/). Файлы предварительно закачиваются по FTP (или в админке) Отображается как в листинге товаров, так и в popup изображении
v_products_image_med Основная картинка товара (при просмотре описания товара).
v_products_image_lrg Основная картинка товара (pop-up).
v_products_image_sm_1
v_products_image_xl_1
v_products_image_sm_2
v_products_image_xl_2
v_products_image_sm_3
v_products_image_xl_3
v_products_image_sm_4
v_products_image_xl_4
v_products_image_sm_5
v_products_image_xl_5
v_products_image_sm_6
v_products_image_xl_6
v_products_name_1* Название товара (максимальная длина - не больше 255 символов - см. длину поля products_name).
v_products_description_1 Описание товара (разрешается использовать HTML тэги)
v_products_info_1 Краткая информация о товаре.
v_products_url_1 Внешняя ссылка на товар(сайт производителя и тд.; указывается без http://)
v_products_head_title_tag_1 HTML-тэг Meta Title (заголовок) для страницы товара.
v_products_head_desc_tag_1 HTML-тэг Meta Description (описание) тэг для страницы товара.
v_products_head_keywords_tag_1 HTML-тэг Meta Keywords (ключевые слова) для страницы товара.
v_products_price* Цена товара в валюте по умолчанию (см. Админка -> Локализация -> Валюты). Разделитель дробной части - ТОЧКА!
v_products_weight Вес товара в килограммах (используется для расчета стоимости доставки). Если не используется - пропускаем.
v_date_avail Ожидаемая дата “доступности” товара (проще оставлять пустой)
v_date_added* Дата добавления товара в магазин в формате YYYY-MM-DD HH:mm:ss (формат строгий!)
v_products_quantity Количество единиц товара на складе. Если не используется, вводим “заведомо большое” - 99999
v_products_quantity_order_min Минимальное количество товара для заказа. Если товар “поштучно” - пропускаем (пусто)
v_products_quantity_order_units Количество единиц в “упаковке” товара (полезно при оптовой торговле)
v_products_sort_order Номер для сортировки (чем меньше, тем выше товар в списке)
v_manufacturers_name Производитель
v_categories_name_1 * Категория, в которую добавляется товар. При необходимости, можно указать полный путь (с подкатегориями) до седьмого уровня вложенности. Неиспользуемые уровни оставляем пустыми.
v_categories_name_2
v_categories_name_3
v_categories_name_4
v_categories_name_5
v_categories_name_6
v_categories_name_7
v_tax_class_title* Название налога. (см. Админка - Места/Налоги - Типы налогов).Скорее всего лучше оставить “–нет–”.
v_status* Статус товара (Active/Inactive - соответственно доступен/недоступен). Пропускать нельзя!
v_action Для удаления товара указать “delete”. Если товар удалять не нужно - пропускаем.
EOREOR* EOREOR - символ “конца строки”

Если Вы считаете, что данная информация о формате данных EasyPopulate неполная - отписывайтесь в комментариях. Будем дополнять вместе!

Опубликовано Март 30, 2008 | автор: levik  |  Нет комментариев »

FCKeditor - транслит имен файлов

FCKeditor при загрузке файлов с русскими символами в имени выводит ТАКИЕ кракозябры.. :)

Для “облегчения” жизни себе и ему “прикручиваем” плагин - http://setegnom.com/node/930

Опубликовано Март 18, 2008 | автор: levik  |  Нет комментариев »