LiveInternetMail.ru
Форум русской поддержки Joomla!® CMS
28.05.2012, 01:53:37 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 1.7 FAQ Joomla 1.5 FAQ Joomla 1.0 FAQ Правила форума Новости Joomla Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор Тема: Как создать компонент?  (Прочитано 2884 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Andros
Давно я тут
****

Репутация: +9/-1
Offline Offline

Пол: Мужской
Сообщений: 349



« : 27.12.2009, 00:24:25 »

Понимаю, что вопрос несерьезный, типа "как создать сайт", но все же...
Воде где-то видел маны на эту тему, но это давно было. Собственно, нужен компонент калькулятор расчета стоимости доставки. Исходные данные: табличка со списком городов, ценами на доставку за первый и последующие кг. Есть еще всякие надбавочные коэффициенты как доп. услуги. Что можете посоветовать? Может, какие-то заготовки есть для разработки таких компонентов?
Записан
Gold Dragon
Moderator
*****

Репутация: +33/-2
Offline Offline

Пол: Мужской
Сообщений: 985



« Ответ #1 : 27.12.2009, 11:34:31 »

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

Andros, можешь посмотреть это и это

Записан
temniy
Живу я здесь
******

Репутация: +80/-9
Offline Offline

Пол: Мужской
Сообщений: 873



« Ответ #2 : 27.12.2009, 17:54:23 »

Возможно использование стандартных процедур обращения с глобальными переменными, все они работают. Однако, я рекомендую принять к сведению следующую информацию - getInstance() в Joostina 1.3.0

Если вопрос в том, как создать конкретный компонент калькулятора, то рекомендую обратиться к поиску, насколько я помню, одним из лучших подобных является компонент бухгалтерского калькулятора от Adeptus.
Записан
sekras
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 40



« Ответ #3 : 30.12.2009, 15:31:26 »

Возможно использование стандартных процедур обращения с глобальными переменными, все они работают. Однако, я рекомендую принять к сведению следующую информацию - getInstance() в Joostina 1.3.0
в виду отсутствия документации задам вопрос тут:
что лучше
Код
$mainframe = &mosMainFrame::getInstance();
$database = &database::getInstance();
или
Код
$mainframe = &mosMainFrame::getInstance();
$database = $mainframe->_db ;
или вообще не определять $database, а использовать $mainframe->_db

спрашиваю потому что в вызове в конструкторе mosMainFrame присутствует $this->_db = &database::getInstance();
между тем в Joostine во многих случая первый вариант используется
Записан
boston
Moderator
*****

Репутация: +222/-3
Offline Offline

Пол: Мужской
Сообщений: 2699



« Ответ #4 : 30.12.2009, 22:56:42 »

Если в коде есть использование и $mainframe  и $database - то лучше второй вариант, если тока $database - то лучше тока $database = &database::getInstance();.

Код
$mainframe = &mosMainFrame::getInstance();
$database = $mainframe->_db ;
Такая конструкция занимает меньше памяти и выполняется быстрее, потому как не идёт инициализация объекта базы, а сразу используется объект.

Код
$database = &database::getInstance();
А так идёт инициализацию объекта базы данных, это чуточку проще и быстрее чем сядром, и выделение памяти научасток ниже.
Записан
sekras
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 40



« Ответ #5 : 31.12.2009, 19:40:12 »

не проясните тогда разницу между
Код
$database = $mainframe->_db ;
и
Код
$database = &$mainframe->_db ;
Записан
boston
Moderator
*****

Репутация: +222/-3
Offline Offline

Пол: Мужской
Сообщений: 2699



« Ответ #6 : 03.01.2010, 22:49:30 »

Ды принципиально никакой разницы уже кажется, посмотри темы про передачу объекта по ссылке. & как раз из этой оперы.
Записан
sekras
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 40



« Ответ #7 : 11.01.2010, 11:07:00 »

Ды принципиально никакой разницы уже кажется, посмотри темы про передачу объекта по ссылке. & как раз из этой оперы.
я про тоже и говорю...
вычитал что сейчас всегда передается по ссылке, просто кое-где в ядре есть &$mainframe...
вот и спросил Azn
Записан
GlooM
Разработчик расширений для Joomla 1.0
*

Репутация: +88/-0
Offline Offline

Пол: Мужской
Сообщений: 612


AdsManager


« Ответ #8 : 24.02.2010, 19:54:13 »

Понимаю, что вопрос несерьезный, типа "как создать сайт", но все же...
Воде где-то видел маны на эту тему, но это давно было. Собственно, нужен компонент калькулятор расчета стоимости доставки. Исходные данные: табличка со списком городов, ценами на доставку за первый и последующие кг. Есть еще всякие надбавочные коэффициенты как доп. услуги. Что можете посоветовать? Может, какие-то заготовки есть для разработки таких компонентов?
Есть готовый калькулятор под Joostina 1.2.0. Описание тут: http://joomlaforum.ru/index.php/topic,99787.0.html
Записан
Andros
Давно я тут
****

Репутация: +9/-1
Offline Offline

Пол: Мужской
Сообщений: 349



« Ответ #9 : 06.03.2010, 19:37:16 »

Есть готовый калькулятор под Joostina 1.2.0. Описание тут: http://joomlaforum.ru/index.php/topic,99787.0.html
Хороший калькулятор, но его функционала мало: мне нужен калькулятор по доставке, расчитывающий по весу, округленному до целого в большую сторону. Города находятся в разных тарифных зонах, соответственно, калькулятор должен выбирать из нескольких формул одну нужную в каждом конкретном случае. Города необходимо держать в базе с привязкой к зоне. В-общем указанный не подходит для меня Sad
Записан
GlooM
Разработчик расширений для Joomla 1.0
*

Репутация: +88/-0
Offline Offline

Пол: Мужской
Сообщений: 612


AdsManager


« Ответ #10 : 06.03.2010, 19:43:20 »

Хороший калькулятор, но его функционала мало: мне нужен калькулятор по доставке, расчитывающий по весу, округленному до целого в большую сторону. Города находятся в разных тарифных зонах, соответственно, калькулятор должен выбирать из нескольких формул одну нужную в каждом конкретном случае. Города необходимо держать в базе с привязкой к зоне. В-общем указанный не подходит для меня Sad
Дело Ваше Azn
Сейчас вот заканчиваю настраивать наш калькулятор на этом сайте, вполне хорошо подходит Azn
Записан
Andros
Давно я тут
****

Репутация: +9/-1
Offline Offline

Пол: Мужской
Сообщений: 349



« Ответ #11 : 06.03.2010, 20:01:46 »

Есть идея: давайте я создам тему "Создание компонента ламером с нуля", как человек, реально не имеющий понятия о php и тем более создании компонентов. И на каждом этапе буду выкладывать созданные файлы и задавать вопросы местным гуру, которые соответственно будут тыкать носом в необходимые места инета Azn
Как думают гуру, отзовутся ли? В принципе, компонент реально нужный, для служб курьерских и как пример расчетов цен на доставку в магазинах. Поможет кто-нибудь?
Записан
userxp
Администратор
*******

Репутация: +400/-6
Offline Offline

Пол: Мужской
Сообщений: 3227


Злой и ужасный бармалей


« Ответ #12 : 06.03.2010, 20:20:23 »

не проясните тогда разницу между
Код
$database = $mainframe->_db ;
и
Код
$database = &$mainframe->_db ;
для объектов в PHP 5 - никакой, а PHP 4 сделает полный дубликат (клон).
в связи с чем в PHP 5 появилась функция clone для явного клонирования объекта
Записан
esmark
Осваиваюсь на форуме
***

Репутация: +6/-0
Offline Offline

Пол: Мужской
Сообщений: 119


« Ответ #13 : 07.03.2010, 01:28:47 »

Собственно, нужен компонент калькулятор расчета стоимости доставки. Исходные данные: табличка со списком городов, ценами на доставку за первый и последующие кг. Есть еще всякие надбавочные коэффициенты как доп. услуги. Что можете посоветовать? Может, какие-то заготовки есть для разработки таких компонентов?
Возьми в качестве примера расчет в модуле доставки почты России для VirtueMart для своего компонента.
Записан
userxp
Администратор
*******

Репутация: +400/-6
Offline Offline

Пол: Мужской
Сообщений: 3227


Злой и ужасный бармалей


« Ответ #14 : 07.03.2010, 01:32:10 »

плохой совет
Записан
Andros
Давно я тут
****

Репутация: +9/-1
Offline Offline

Пол: Мужской
Сообщений: 349



« Ответ #15 : 07.03.2010, 03:17:55 »

плохой совет
Действительно, неуместен... Во-первых, скрипты VirtueMart либо берут инфу с сайтов-доноров, либо просто логика у них другая...
Попробую изобразить то, что хотелось бы видеть:
Значит, для расчета стоимости доставки нужны следующие данные:
1. Областные центры России, привязаны к зонам.
2. Населенные пункты этих областей, делятся также на подзоны. (То есть, город Балашиха будет например в итоге зона "1" подзона "а")
3. Цена за доставку первого кг, и стоимость за каждый последующий кг, привязана к зоне доставки. Если например доставка идет в подзону, то к доставке в зону суммируется доставка из этой зоны в подзону. Пример: Доставка в ту же Балашиху - 1000руб в Москву и 300руб из Москвы в Балашиху, итого 1300руб.
4. Стоимость дополнительных услуг. Плюсуется к итоговой.

Админка.
Админка представляет собой страничку с возможностью добавления в базу данных населенные пункты, с привязкой к зоне/подзоне и дальнейшего редактирования. Больше в принципе ничего не нужно. Это минимум...

Фронт.
Модуль на AJAX, выдающий результат расчета без перезагрузки страницы. Вводится город отправки, город доставки, срабатывает автоподстановка населенного пункта с областью, как это реализовано тут, вводим остальные данные и получаем результат тут же.
В-общем, все. Готов начать, но не знаю с чего именно. Пока только прочел , но помогло мало Azn
Можно расширить задачу: добавить также возможность оформления заявок после расчета (прикрутить форму заказа), которые бы автоматически отправлялись на e-mail города отправки (который также указывался бы в админке в настройках городов)
« Последнее редактирование: 19.03.2010, 22:48:26 от Andros » Записан
Andros
Давно я тут
****

Репутация: +9/-1
Offline Offline

Пол: Мужской
Сообщений: 349



« Ответ #16 : 19.03.2010, 19:12:52 »

подозрение у меня такое, что вопрос решится только за $... Вопрос: сколько будет стоить разработка такого компонента?
Записан
temniy
Живу я здесь
******

Репутация: +80/-9
Offline Offline

Пол: Мужской
Сообщений: 873



« Ответ #17 : 19.03.2010, 19:28:41 »

У Адептуса есть бухгалтерский калькулятор, он не подойдет? Есть на форуме.
Записан
Andros
Давно я тут
****

Репутация: +9/-1
Offline Offline

Пол: Мужской
Сообщений: 349



« Ответ #18 : 19.03.2010, 22:49:25 »

У Адептуса есть бухгалтерский калькулятор, он не подойдет? Есть на форуме.
нет, тут нужно совсем другое, боюсь, данному компоненту задача не по зубам.
Записан
ZHart
Moderator
*****

Репутация: +53/-4
Offline Offline

Пол: Мужской
Сообщений: 933


Когда-то я был Hammer-ом ;)


« Ответ #19 : 20.03.2010, 14:55:42 »

подозрение у меня такое, что вопрос решится только за $... Вопрос: сколько будет стоить разработка такого компонента?

А такой вопрос лучше задавать в соответствующем разделе.
Записан
Andros
Давно я тут
****

Репутация: +9/-1
Offline Offline

Пол: Мужской
Сообщений: 349



« Ответ #20 : 22.03.2010, 21:26:42 »

А такой вопрос лучше задавать в соответствующем разделе.
Упс... Azn
Тему запостил в в/у ветке.
Но вопрос создания компонента обычным пользователем остался открыт. Господа разработчики, не могли бы вы написать какой-нибудь инстуктаж по созданию компонентов... Понимаю, что Google и куромания рулят, но все-таки: хотелось бы знать все по пунктам - какие инструменты использовать, какие задачи решить в первую очередь, ну и... КАК СДЕЛАТЬ? Azn
Записан
temniy
Живу я здесь
******

Репутация: +80/-9
Offline Offline

Пол: Мужской
Сообщений: 873



« Ответ #21 : 22.03.2010, 22:08:31 »

Господа разработчики, не могли бы вы написать какой-нибудь инстуктаж по созданию компонентов...
Серия 1
Серия 2
Серия 3
Записан
Andros
Давно я тут
****

Репутация: +9/-1
Offline Offline

Пол: Мужской
Сообщений: 349



« Ответ #22 : 23.03.2010, 09:39:34 »

Это видел, попозже пос..у в каментах со своими ламерскими вопросами Azn
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Рейтинг@Mail.ru Rambler Top100 Powered by SMF 1.1.16 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet