Новости Joomla

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором...

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором...

Модификация WT JShopping products anywhere - Uikit макетИтак, дано: музыкальный журнал, в котором представлены новости, интервью, рецензии и есть небольшой магазин на JoomShopping. Возникла необходимость внутри Joomla статей вставлять упоминание релиза и кнопочку «добавить в корзину». Я взял плагин WT JShopping products anywhere Сергея Толкачева (@webtolkru). Плагин отображает название товара и ссылку. При помощи напильника, ИИ и навыков вёрстки появился Uikit макет для шаблонов на базе Yootheme Pro.Учитываается мобильная версия - телефоны и ipad.Кнопка добавления в корзину работает по Ajax и появляется всплывающее окно (Notification Bar от Uikit) с информацией.Пока это базовый вариант, требующий доведения до лоска, однако он уже работает и его можно применять на проектах.Взять макет можно здесь.А плагин вставки товаров в материалы можно забрать здесь.Приветствуется доведение до ума и оформление в виде PR.

WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla

WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla

👩‍💻 WT Content Image Gallery v.1.2.3 - плагин галереи изображений для Joomla.Пакет плагинов галереи изображений и видео для вставки в материалы и модули Joomla, а так же везде, где работают плагины группы content. Поддержка собственных макетов вывода для галерей. Смешанные фото+видео галереи. Плагин создан как замена Simple Image Gallery и поддерживает синтаксис {gallery}{/gallery}.👩‍💻 v.1.2.3. Что нового?- Обработка вступительного и полного текста для материалов Joomla. Добавлена обработка шорткодов в полном и вступительном текстах материалов Joomla.- Системные требования. Повышены минимальные требования до Joomla 5 и PHP 8.1.- Мелкие правки. Исправлена ошибка работы макета по умолчанию в плагине контента.- Joomla 6. Пакет плагинов успешно протестирован на Joomla 6.Страница расширения.GitHub расширенияJoomla Extensions Directory@joomlafeed#joomla #расширения

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

Гринвич

  • Захожу иногда
  • 213
  • 0 / 0
Re: Прайс-лист
« Ответ #1110 : 20.06.2011, 00:18:00 »
Блин, добавил позиции а в прайсе они не отображаются. (список категорий прилагается)
В частности по двум последним:
Добавил товар в категорию Одноразовая одежда, но сама категория (с товаром)
в прайс листе не отображается.

Если поставить последнюю запись Фасовочные пакеты на своё место,
после Пакеты «Майка», пропадает не связанная с ней категория Перчатки разные.

Уважаемый aleks_yug, если будет желание и/или возможность
просмотрите пожалуйста прилагаемый файлик, может быть что то и найдёте.
-----------
Нельзя сказать что так уж очень сильно переживаю по этому поводу,
просто в альтернативном прайсе всё прекраснго отображается а в Вашем нет.
(И на печать не выводится в обоих прайсиках)

[вложение удалено Администратором]
« Последнее редактирование: 20.06.2011, 01:56:47 от Гринвич »
*

aleks_yug

  • Давно я тут
  • 629
  • 83 / 0
Re: Прайс-лист
« Ответ #1111 : 20.06.2011, 09:24:15 »
Блин, добавил позиции а в прайсе они не отображаются. (список категорий прилагается)
В частности по двум последним:
Добавил товар в категорию Одноразовая одежда, но сама категория (с товаром)
в прайс листе не отображается.

Если поставить последнюю запись Фасовочные пакеты на своё место,
после Пакеты «Майка», пропадает не связанная с ней категория Перчатки разные.

Уважаемый aleks_yug, если будет желание и/или возможность
просмотрите пожалуйста прилагаемый файлик, может быть что то и найдёте.
-----------
Нельзя сказать что так уж очень сильно переживаю по этому поводу,
просто в альтернативном прайсе всё прекраснго отображается а в Вашем нет.
(И на печать не выводится в обоих прайсиках)
Гринвич, из предыдущего ответа я так понял, что есть Ваш тестовый вариант в online. Дайте адрес посмотреть (можно в личку, если не хотите светить). Мне нужна структура категорий в магазине (в каталоге). и что значит - на печать не выводится?. Скиньте-ка мне свой допиленный прайс на мыло. У себя подставлю, посмотрю. (shop.pricelist.php и папочку: pricelist)
*

amagava

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Прайс-лист
« Ответ #1112 : 20.06.2011, 21:52:11 »
Здравствуйте!
Спасибо за отличный прайс!  :D
Вопрос: От чего зависит сортировка товаров(порядок вывода в прайсе)?
Зарание благодарен!
*

aleks_yug

  • Давно я тут
  • 629
  • 83 / 0
Re: Прайс-лист
« Ответ #1113 : 20.06.2011, 22:55:48 »
Здравствуйте!
Спасибо за отличный прайс!  :D
Вопрос: От чего зависит сортировка товаров(порядок вывода в прайсе)?
Зарание благодарен!
amagava,тут описывал решение:
http://joomlaforum.ru/index.php/topic,14209.msg856292.html#msg856292
*

amagava

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Прайс-лист
« Ответ #1114 : 20.06.2011, 23:48:42 »
Спасибо большое!
Ты красавчик, большое дело делаеш для людей!
Спасибо!
*

aleks_yug

  • Давно я тут
  • 629
  • 83 / 0
Re: Прайс-лист
« Ответ #1115 : 20.06.2011, 23:59:47 »
Спасибо - много, плюсик в самый раз! ^-^
*

amagava

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Прайс-лист
« Ответ #1116 : 21.06.2011, 11:57:41 »
Уже второй плюс от меня!
Ты реально этого заслуживаеш!  *DRINK*
*

amagava

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Прайс-лист
« Ответ #1117 : 21.06.2011, 12:14:28 »
Это решение я так понимаю для категорий!
Мне нужно чтобы товар в нутри категоии выводился в том порядке как на сайте!
*

amagava

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Прайс-лист
« Ответ #1118 : 22.06.2011, 10:55:13 »
Вот мой сайт: www.vedrus.com.ua , прайс: vedrus.com.ua/прайс-лист.html
*

aleks_yug

  • Давно я тут
  • 629
  • 83 / 0
Re: Прайс-лист
« Ответ #1119 : 22.06.2011, 12:32:38 »
Вот мой сайт: www.vedrus.com.ua , прайс: vedrus.com.ua/прайс-лист.html
Посмотрел. не работает PDF - путь к картинке не видит...  Скормите ему файл  лого по тому пути, который ему хочется видеть и все проблемы...
Что касается сортировки товаров в прайсе - по артикулу. Можно прижелании сделать по названию товара - в этом случае будут выводиться по алфавиту (нужно-ли, бооольшой вопрос!) Другие варианты - переделывать надо (а не хочется...)
*

aleks_yug

  • Давно я тут
  • 629
  • 83 / 0
Re: Прайс-лист
« Ответ #1120 : 22.06.2011, 15:24:08 »
amagava, папку из пристегнутого архива нужно кинуть в: ваш сайт/libraries/tcpdf/
Заработает PDF. Только саму картинку logo_shop.png поменять на свою...

[вложение удалено Администратором]
*

amagava

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Прайс-лист
« Ответ #1121 : 23.06.2011, 14:17:14 »
Сделал всё как нужно было, пдф работает!
Вот толькоо при нажатии печать или пдф, он показыват выбрано 0 товаров! То есть ни одного товара туда не забрасывает!
*

aleks_yug

  • Давно я тут
  • 629
  • 83 / 0
Re: Прайс-лист
« Ответ #1122 : 23.06.2011, 14:57:51 »
Сделал всё как нужно было, пдф работает!
Вот толькоо при нажатии печать или пдф, он показыват выбрано 0 товаров! То есть ни одного товара туда не забрасывает!
Видел...
amagava, очень сильно подозреваю, что проблема с PDF завязана на SEF компонент (или плагин), используемый на сайте.
Попробуйте отключить SEF и посмотреть без него - там видно будет. Возможно придется по-иному формировать ссылку на вывод пдф (но не факт, что дело в сефе) Если все делали по схеме, должно работать - возможно, что-то пропустили...

PS, это точно СЕФ - с печатью то же самое... По всей вероятности sef404?
« Последнее редактирование: 23.06.2011, 15:31:56 от aleks_yug »
*

mrhuge

  • Захожу иногда
  • 222
  • 7 / 0
  • http://muzalliance.ru/
Re: Прайс-лист
« Ответ #1123 : 28.06.2011, 02:29:28 »
aleks_yug, большой + тебе за такую стабильную поддержку прайс-листа!

3 дня читал тему, выискал почти всё, что нужно для поправок. Всё нормально получилось: http://muzalliance.ru/pricelist.html

Единственное, что мне показалось особенно важным исправить, так это замена imagesize на Виртовский lightbox/slimbox для увеличителя фотографий. Imagesize смотрится конечно красивее, но он сразу при открытии страницы полностью загружает все большие изображения товаров (lightbox грузит только уменьшенные). В результате, страница прайс-листа весит очень много и грузится долго. Только сам скрипт lightbox весит 4 кб против 60 кб imagesize. После установки lightbox у меня вес страницы прайс-листа упал почти в 4 раза (c 1,2 мб до 350 кб) и количество запросов снизилось на количество картинок.

Вставился он простым движением в shop.pricelist.php в место где грузится imagesize:
Код
<script language="JavaScript" type="text/javascript" src="/components/com_virtuemart/js/slimbox/js/slimbox.js"></script>
<link type="text/css" rel="stylesheet" media="screen, projection" href="components/com_virtuemart/js/slimbox/css/slimbox.css" />

и вставкой в maindef.php
Код
rel="lightbox[pics]"
в место, где формируется ссылка на картинку вместо onlick вызова imagesize.
« Последнее редактирование: 28.06.2011, 02:55:21 от mrhuge »
*

mbyte

  • Новичок
  • 3
  • 0 / 0
Re: Прайс-лист
« Ответ #1124 : 28.06.2011, 21:48:03 »
Здравствуйте хочу поблагодарить автора за такой великолепный прайс.Прайс просто отличный.
Вопрос.Подскажите несколько нюансов:как убрать вопросительные знаки которые у меня в место текста тел: вот здесь можно глянуть: http://sumki-optom.com.ua и ещё один нюансик, нет картинок при загрузке прайс листа в pdf в файле shop.pricelist.php всё включил ? 
Заранее благодарен!
*

aleks_yug

  • Давно я тут
  • 629
  • 83 / 0
Re: Прайс-лист
« Ответ #1125 : 28.06.2011, 21:52:57 »
aleks_yug, большой + тебе за такую стабильную поддержку прайс-листа!

3 дня читал тему, выискал почти всё, что нужно для поправок. Всё нормально получилось: http://muzalliance.ru/pricelist.html

Единственное, что мне показалось особенно важным исправить, так это замена imagesize на Виртовский lightbox/slimbox для увеличителя фотографий. Imagesize смотрится конечно красивее, но он сразу при открытии страницы полностью загружает все большие изображения товаров (lightbox грузит только уменьшенные). В результате, страница прайс-листа весит очень много и грузится долго. Только сам скрипт lightbox весит 4 кб против 60 кб imagesize. После установки lightbox у меня вес страницы прайс-листа упал почти в 4 раза (c 1,2 мб до 350 кб) и количество запросов снизилось на количество картинок.

Вставился он простым движением в shop.pricelist.php в место где грузится imagesize:
Код
<script language="JavaScript" type="text/javascript" src="/components/com_virtuemart/js/slimbox/js/slimbox.js"></script>
<link type="text/css" rel="stylesheet" media="screen, projection" href="components/com_virtuemart/js/slimbox/css/slimbox.css" />

и вставкой в maindef.php
Код
rel="lightbox[pics]"
в место, где формируется ссылка на картинку вместо onlick вызова imagesize.
mrhuge, Наконец-то нашелся коллега, который не спрашивает, а добавляет... (с полгода, наверное никто не подключался).
+1 - работает нормально, проверял.
Единственный момент: после rel="lightbox[pics]" добавить title="'.$db_product->f(product_name).'"
Иначе по этому пунктику будут засыпать вопросами...
У тебя в прайсе на сайте, кстати, титль прописан...

PS, imagesize подключал исходя исключительно из-за возможности одновременного просмотра энного кол-ва фотографий (для магазинов, торгующих оптом, это немаловажное обстоятельство...)
*

aleks_yug

  • Давно я тут
  • 629
  • 83 / 0
Re: Прайс-лист
« Ответ #1126 : 28.06.2011, 22:10:16 »
Здравствуйте хочу поблагодарить автора за такой великолепный прайс.Прайс просто отличный.
Вопрос.Подскажите несколько нюансов:как убрать вопросительные знаки которые у меня в место текста тел: вот здесь можно глянуть: http://sumki-optom.com.ua и ещё один нюансик, нет картинок при загрузке прайс листа в pdf в файле shop.pricelist.php всё включил ?  
Заранее благодарен!
Посмотрите в файле maindef.php строку: приблизительно в районе 500й...
$str = str_replace( '{contact_phone_1}', @$VendorDataArray['contact_phone_1'], $str );
Не закоментированна ли она? Должен отображаться телефон, вбитый в админке магазина.
Что касается картинок в PDF - пока не вставляйте - нужно форматировать вывод PDF отдельно (если есть желание, можете попробовать...) Пока этим плотно не занимался. Кстати У Вас на сайте картинки в обычном просмотре не включены и в режиме печати, как и пдф не загружаются товары. Либо SEF, либо неправильно сформированные ссылки -смотреть нужно, так не скажу
« Последнее редактирование: 28.06.2011, 22:17:40 от aleks_yug »
*

mbyte

  • Новичок
  • 3
  • 0 / 0
Re: Прайс-лист
« Ответ #1127 : 28.06.2011, 22:55:18 »
Цитировать
Посмотрите в файле maindef.php строку: приблизительно в районе 500й...
$str = str_replace( '{contact_phone_1}', @$VendorDataArray['contact_phone_1'], $str );
Не закоментированна ли она? Должен отображаться телефон, вбитый в админке магазина.
Что касается картинок в PDF - пока не вставляйте - нужно форматировать вывод PDF отдельно (если есть желание, можете попробовать...) Пока этим плотно не занимался. Кстати У Вас на сайте картинки в обычном просмотре не включены и в режиме печати, как и пдф не загружаются товары. Либо SEF, либо неправильно сформированные ссылки -смотреть нужно, так не скажу

Спасибо большое за помощь всё работает картинки выводятся ,тел отображается только вот с вопросительными знаками никак не могу разобраться.
*

aleks_yug

  • Давно я тут
  • 629
  • 83 / 0
Re: Прайс-лист
« Ответ #1128 : 28.06.2011, 23:36:21 »
Спасибо большое за помощь всё работает картинки выводятся ,тел отображается только вот с вопросительными знаками никак не могу разобраться.
В файле:shop.pricelist.php, вверху кода, сразу после: <?php
вставьте: header('Content-Type: text/html; charset=utf-8');
Или сохраните это файл в UTF-8 (когда вносили изменения, поменяли кодировку)
*

mbyte

  • Новичок
  • 3
  • 0 / 0
Re: Прайс-лист
« Ответ #1129 : 28.06.2011, 23:43:52 »
Спасибо всё работает прайс супер.Спасибо авторам за прайс и за такую отличную поддержку !
*

mrhuge

  • Захожу иногда
  • 222
  • 7 / 0
  • http://muzalliance.ru/
Re: Прайс-лист
« Ответ #1130 : 30.06.2011, 01:31:46 »
mrhuge, Наконец-то нашелся коллега, который не спрашивает, а добавляет... (с полгода, наверное никто не подключался).
+1 - работает нормально, проверял.
Единственный момент: после rel="lightbox[pics]" добавить title="'.$db_product->f(product_name).'"
Иначе по этому пунктику будут засыпать вопросами...
У тебя в прайсе на сайте, кстати, титль прописан...

PS, imagesize подключал исходя исключительно из-за возможности одновременного просмотра энного кол-ва фотографий (для магазинов, торгующих оптом, это немаловажное обстоятельство...)

Понял тебя, Алекс. Прайс-лист в целом отличный. Пригоден в целом как модуль вывода товаров с категориями. Довольно удобно.

Посмотрел как у тебя на сайте работает прайс-лист. При просмотре окна загрузки файрбага довольно странно грузит все маленькие и 8 больших фотографий товаров. Почему именно 8 ума не приложу.
*

avers_inc

  • Новичок
  • 9
  • 2 / 0
Re: Прайс-лист
« Ответ #1131 : 03.07.2011, 16:10:22 »
Недавно возникла необходимость автоматической генерации прайс-листа в xls-формате из данных vm. Нашел очень простое решение. Если кому интересно, могу рассказать.
*

mrhuge

  • Захожу иногда
  • 222
  • 7 / 0
  • http://muzalliance.ru/
Re: Прайс-лист
« Ответ #1132 : 03.07.2011, 16:11:05 »
Недавно возникла необходимость автоматической генерации прайс-листа в xls-формате из данных vm. Нашел очень простое решение. Если кому интересно, могу рассказать.

Давай! Мне интересно.
*

aleks_yug

  • Давно я тут
  • 629
  • 83 / 0
Re: Прайс-лист
« Ответ #1133 : 03.07.2011, 16:23:23 »
Недавно возникла необходимость автоматической генерации прайс-листа в xls-формате из данных vm. Нашел очень простое решение. Если кому интересно, могу рассказать.
Ждем с нетерпением...!
*

avers_inc

  • Новичок
  • 9
  • 2 / 0
Re: Прайс-лист
« Ответ #1134 : 04.07.2011, 00:27:30 »
Есть такая библиотека PHPExcel. Качать тут http://phpexcel.codeplex.com/
В принципе там в пакете есть полная документация на английском. Все что, остается сделать, это:
1. Составить правильный SQL запрос к базе (могу помочь отдельно)
2. Создать Файл php-скрипта, в котором сделать выборку из базы с этим SQL запросом (см. п.1) и вывести полученное, используя классы библиотеки PHPExcel.
3. Повесить на сайте ссылку на этот php-скрипт.
Если разобраться, то всей работы на 15 минут.

Можно обернуть все это в Joomla-фреймворк - но так как надо было срочно, временно сделал в обход. Может чуть позже сделаю отдельное Joomla-расширение...

Теперь чуть подробней:
1. Создаете папку у себя на сервере где-нить в public_html/ например public_html/price_xls/
2. В эту папку переписываете папку Classes из архива скачанного по ссылке http://phpexcel.codeplex.com/ так, чтоб получился такой путь public_html/price_xls/Classes/
3. в public_html/price_xls/ создаете файл, например, price_xls.php
вот пример скрипта:
Код
<?php 
set_include_path(get_include_path(). PATH_SEPARATOR .
'Classes/');
//подключаем и создаем класс PHPExcel
require_once 'PHPExcel.php';

$pExcel = new PHPExcel();
$pExcel->setActiveSheetIndex(0);
$aSheet = $pExcel->getActiveSheet();
$aSheet->setTitle('Прайс'); //Это название листа в книге excel

//Описываем стили (для начала можно стили пропустить)
$cellStyleArray = array(
'borders' => array(
'outline' => array(
'style' => PHPExcel_Style_Border::BORDER_THIN,
'color' => array('rgb' => '000000'),
),
),
);

$cellNameStyleArray = array(
'borders' => array(
'outline' => array(
'style' => PHPExcel_Style_Border::BORDER_THIN,
'color' => array('rgb' => '000000'),
),
),
);

$cellPriceStyleArray = array(
'borders' => array(
'outline' => array(
'style' => PHPExcel_Style_Border::BORDER_THIN,
'color' => array('rgb' => '000000'),
),
),
'numberformat' => array(
'code' => PHPExcel_Style_NumberFormat::FORMAT_NUMBER_COMMA_SEPARATED1,
),
);

$subcategoryStyleArray = array(
'font' => array(
'bold' => true,
),
'alignment' => array(
'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_LEFT,
),
'borders' => array(
'outline' => array(
'style' => PHPExcel_Style_Border::BORDER_THIN,
'color' => array('rgb' => '000000'),
),
),
'fill' => array(
'type' => PHPExcel_Style_Fill::FILL_SOLID,
'color' => array(
'argb' => 'FFDDDDDD',
),
),
);

$categoryStyleArray = array(
'font' => array(
'bold' => true,
'size' => 12,
),
'alignment' => array(
'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER_CONTINUOUS,
),
);



//устанавливаем данные

$xlpos = 1; //тут будем считать строки

//тут Вставляем хедер (это то что будет выше выводимых данных и после каждой строки увеличиваем $xlpos на 1)

// соединение с БД
$db = "ntpromco_jdb";
$cn = mysql_connect("localhost", "логин к БД","пароль к БД");
if ( !$cn ) die ("Невозможно подключение к MySQL");
mysql_select_db ( $db ) or die ("Невозможно открыть $db");

//тут пишем свой SQL запрос. ну у меня такой
$query = "SELECT if(vm_cat_xref.`category_parent_id`=0, vm_cat2.`category_name`, vm_cat.`category_name`) as cat, if(vm_cat_xref.`category_parent_id`=0, '', vm_cat2.`category_name`), `jos_vm_product`.`product_sku`, `jos_vm_product`.`product_name`, ROUND(`jos_vm_product_price`.`product_price` * 1.2, 2) as price FROM `jos_vm_product` INNER JOIN `jos_vm_product_price` ON (`jos_vm_product_price`.`product_id`=`jos_vm_product`.`product_id`) INNER JOIN `jos_vm_product_category_xref` as vm_cat_xref2 ON (vm_cat_xref2.`product_id`=`jos_vm_product`.`product_id`) INNER JOIN `jos_vm_category` as vm_cat2 ON (vm_cat2.`category_id`=vm_cat_xref2.`category_id`) INNER JOIN `jos_vm_category_xref` as vm_cat_xref ON (vm_cat_xref.`category_child_id`=vm_cat_xref2.`category_id`) left JOIN `jos_vm_category` as vm_cat ON (vm_cat.`category_id`=vm_cat_xref.`category_parent_id`) WHERE (`jos_vm_product`.`product_in_stock` <> 0 AND `jos_vm_product`.`product_publish` LIKE 'Y') ORDER BY `jos_vm_product`.`product_sku`";

$result = mysql_query ( $query );
$m = mysql_num_rows ( $result );
$n = mysql_num_fields( $result );
$cur_sect="";
$cur_cat="";
$sect_num=0;
$cat_num=0;

// далее идет пример вывода данных. для моей структуры "категория уровня 1 ($cur_sect)-> категория уровня 2 ($cur_cat)-> товар"
for ( $i=0; $i<$m; $i++ )
{
$row = mysql_fetch_array($result);
if ($row[0] != $cur_sect)
{
//Вывод загаловка категории уровня 1
$sect_num++;
$cat_num=0;
$cur_sect=$row[0];
if ($sect_num > 1)
{
}
$aSheet->setCellValueByColumnAndRow(0,$xlpos,$sect_num . ". " . mb_convert_encoding($cur_sect,"UTF-8","CP1251"));
$aSheet->mergeCells('A' . $xlpos . ':' . PHPExcel_Cell::stringFromColumnIndex($n-4). $xlpos);
$aSheet->getStyle('A' . $xlpos . ':' . PHPExcel_Cell::stringFromColumnIndex($n-4). $xlpos)->applyFromArray($categoryStyleArray);
$aSheet->getRowDimension($xlpos)->setRowHeight(25);
$xlpos++;
}
if ($row[1] != $cur_cat && $row[1] != "")
{
//Вывод загаловка категории уровня 2
$cat_num++;
$cur_cat=$row[1];
$aSheet->setCellValueByColumnAndRow(0,$xlpos,$sect_num . "." . $cat_num . ". " . mb_convert_encoding($cur_cat,"UTF-8","CP1251"));
$aSheet->setCellValueByColumnAndRow(1,$xlpos,"грн./т");
//$aSheet->mergeCells('A' . $xlpos . ':' . PHPExcel_Cell::stringFromColumnIndex($n-4). $xlpos);
$aSheet->getStyle('A' . $xlpos . ':' . PHPExcel_Cell::stringFromColumnIndex($n-4). $xlpos)->applyFromArray($subcategoryStyleArray);
$aSheet->getStyle('B' . $xlpos)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
$xlpos++;
}


//Так можно вывести если у вас много столбцов в прайсе
// for ( $j=3; $j<$n; $j++ )
// {
// $aSheet->setCellValueByColumnAndRow($j-3,$xlpos,$row[$j]);
// $aSheet->getStyle(PHPExcel_Cell::stringFromColumnIndex($j-3). $xlpos)->applyFromArray($cellStyleArray);
// }

//у меня столбцов всего 2 поэтому я вывожу так
$aSheet->setCellValueByColumnAndRow(0,$xlpos,mb_convert_encoding($row[3],"UTF-8","CP1251"));
$aSheet->getStyle('A' . $xlpos)->applyFromArray($cellNameStyleArray);
$aSheet->setCellValueByColumnAndRow(1,$xlpos,$row[4]);
$aSheet->getStyle('B' . $xlpos)->applyFromArray($cellPriceStyleArray);

$xlpos++;
}
if ( $m == 0 ) echo "Ничего не можем предложить. Извините";
mysql_close ( $cn );


//устанавливаем ширину
$aSheet->getColumnDimension('A')->setWidth(70);
$aSheet->getColumnDimension('B')->setWidth(20);
//отдаем пользователю в браузер
include("PHPExcel/Writer/Excel5.php"); //тут можно сохранить в Excel2007 - читайте документацию к PHPExcel
$objWriter = new PHPExcel_Writer_Excel5($pExcel);
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="ntp-price.xls"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');


// Конец листа, отправка обозревателю
?>
там где используется функция mb_convert_encoding, ее можно не использовать, если у вас результаты запроса возвращаются уже в "utf-8", иначе приходится перекодировать как у меня из "CP1251".

4. В нужном месте на сайте выводите ссылку ../public_html/price_xls/price_xls.php
Чтоб сделать ссылку более привычного вида можно внести ее через встроенный в Joomla компонент "Каталог ссылок". Или с помощью sh404SEF создать алиас.

Еще раз повторюсь, так как времени не было, решил не делать это во фреймворке Joomla. Можно на базе этого сделать компонент с более универсальной функциональностью, но это будет уже сложнее, а мне большая функциональность была не нужна.
Так как я не использую фреймворк, то приходится описывать соединение в самом скрипте и где-то прописывать логин и пароль к БД. Тут надо быть осторожным, чтоб его никто не мог прочитать. Или, как сделал я, просто создать отдельную учетную запись для доступа к БД только с привилегиями SELECT и только к этой базе... можно также ограничить доступ на уровне таблиц.

Короче, если есть вопросы, обращайтесь...

P.S. Кстати эта библиотека работает не только с xls, а еще и с кучей других форматов, в т.ч. pdf.
*

Гринвич

  • Захожу иногда
  • 213
  • 0 / 0
Re: Прайс-лист
« Ответ #1135 : 04.07.2011, 04:02:06 »
aleks_yug, avers_inc, молодцы ребята!  *DRINK*
Может быть и хорошая команда получится.

Вы заметили, у Вас логины не очень то и отличаются. Хе-хе!
Особенно по стилю написания.
*

aleks_yug

  • Давно я тут
  • 629
  • 83 / 0
Re: Прайс-лист
« Ответ #1136 : 04.07.2011, 17:58:12 »
Есть такая библиотека PHPExcel. Качать тут http://phpexcel.codeplex.com/
В принципе там в пакете есть полная документация на английском. Все что, остается сделать, это:
1. Составить правильный SQL запрос к базе (могу помочь отдельно)
2. Создать Файл php-скрипта, в котором сделать выборку из базы с этим SQL запросом (см. п.1) и вывести полученное, используя классы библиотеки PHPExcel.
3. Повесить на сайте ссылку на этот php-скрипт.
Если разобраться, то всей работы на 15 минут.

Можно обернуть все это в Joomla-фреймворк - но так как надо было срочно, временно сделал в обход. Может чуть позже сделаю отдельное Joomla-расширение...
avers_inc, отличное решение! (и мануал, понятный, наверное всем...)
+++1!
Если позволите, пока только один вопрос, связанный с сортировкой (по всей видимости, проблема решается в SQL запросе).
При формировании прайса товары (и категории тоже) создаются бессистемно, т.е. последовательность выводится по логике, мне пока непонятной. Правда, если быть честным, в детали не вдавался...
В двух словах: категория с товарами выводится не один раз, а несколько (правда, товары из этой категории не повторяются, а в повторе добавляются те, которые не вошли в первый вывод). Такое впечатление, что товары живут отдельной жизнью, без всякой связи с структурой каталога.
Отсюда выплывает вопрос: есть ли, на Ваш взгляд возможность решить эту проблему, не прибегая к кардинальному вмешательству?
Остальное, я думаю, можно потом.

PS, единственное, что поменял - в запросе убрал * 1.2, 2, иначе цена формируется с надбавкой.
PPS, Гринвич, вообще-то к xls-прайсу я никакого труда не прикладывал. Все плюсы avers_inc

avers_inc! Вопрос с формированием снят. Проверял сначала на локалке - возможно проблемы у меня на тестовом движке (там все перекрученно, как только можно...). В online все OK! :D
« Последнее редактирование: 04.07.2011, 18:39:19 от aleks_yug »
*

avers_inc

  • Новичок
  • 9
  • 2 / 0
Re: Прайс-лист
« Ответ #1137 : 04.07.2011, 21:59:43 »
Если позволите, пока только один вопрос, связанный с сортировкой (по всей видимости, проблема решается в SQL запросе).
При формировании прайса товары (и категории тоже) создаются бессистемно, т.е. последовательность выводится по логике, мне пока непонятной. Правда, если быть честным, в детали не вдавался...
В двух словах: категория с товарами выводится не один раз, а несколько (правда, товары из этой категории не повторяются, а в повторе добавляются те, которые не вошли в первый вывод). Такое впечатление, что товары живут отдельной жизнью, без всякой связи с структурой каталога.

Совершенно верно: тут все зависит от SQL-запроса. Просто при его составлении лучше всего опираться на логику распределения товаров по категориям в каждом случае индивидуально. Я сортирую по артикулу, так как я сам придумал такую систему артикулов, по которой я могу из одного только артикула узнать почти все параметры товара и его категорию. К тому же в принципе можно использовать несколько запросов, например вытащить сначала дерево категорий, а потом запрашивать товары для каждой категории... но с точки зрения быстродействия, я не хотел увеличивать количество обращений к БД.

PS, единственное, что поменял - в запросе убрал * 1.2, 2, иначе цена формируется с надбавкой.
*1,2 - это потому, что цены у меня хранятся без налогов, а 20% - это НДС. Можно конечно все это сделать через систему налогов VM... но я думаю, что это будет какой-то совсем сложный запрос... мне проще так.
2 - это количество цифр, после запятой, для SQL-фукции ROUND, т.е. округление, хотя его делать и не обязательно... просто у меня аналогичный скрипт работает и для вывода в HTML-таблице, там было проще сразу округлить.


если есть вопросы по скрипту или SQL - обращайтесь.


aleks_yug, спасибо за + ;)
*

mrhuge

  • Захожу иногда
  • 222
  • 7 / 0
  • http://muzalliance.ru/
Re: Прайс-лист
« Ответ #1138 : 05.07.2011, 04:40:55 »
avers_inc, интересное решение, но пока совсем нет времени его попробовать и обкатать. Как возникнет реальная необходимость - сразу сюда вернусь.
*

zlooker

  • Новичок
  • 8
  • 1 / 0
Re: Прайс-лист
« Ответ #1139 : 06.07.2011, 11:56:32 »
приветы еще раз, кто подскажет как добавить графу в прайс, а конкретно "Размеры, мм"& :-*
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Делаем из категории прайс-лист, с разделами и с расширенными атрибутами товаров

Автор numen

Ответов: 18
Просмотров: 9281
Последний ответ 04.07.2013, 06:33:08
от rushab
Прайс-лист - подведение итогов.

Автор adjuster

Ответов: 2
Просмотров: 2581
Последний ответ 02.10.2012, 19:16:20
от renata
Для каждой группы покупателей свой прайс лист

Автор iworkshop

Ответов: 2
Просмотров: 2435
Последний ответ 17.06.2012, 12:35:37
от baloon
Как в прайс-листе добавить пункт показывать кол-во товара?

Автор blessedlive

Ответов: 9
Просмотров: 2020
Последний ответ 04.11.2011, 08:53:08
от blessedlive
Вывод товаров в категории как в прайс-листе

Автор Major-Max

Ответов: 6
Просмотров: 2500
Последний ответ 28.02.2011, 21:00:43
от Major-Max