Разработка компонента joomla3 на практике часть 2

Практический урок по разработке компонента на joomla 3.  Вторая часть. 

Разработка редактирования товаров в админке нашего компонента. 

Скачать эту часть компонента можно по ссылке Скачать компонент .
Компонент устанавливается стандартно через установщик joomla.

Для разработки нужно создать такие файлы в папке admin

 Для продуктов в админке придумаем английское название пункта product
в папке controller создадим два файла product.php  - для формы редактирования 
и products.php для списка. Если понадобятся другие пункты админки то также берется любое имя на английском и создаются по аналогии с product теже файлы.

Разработка компонента joomla3 на практике часть 1

Практический урок по разработке компонента на joomla 3. Теорию затрагивать я не буду. Только практика.

Компонент каталог чего угодно на joomla 3. Назовем его katalog - Каталог товаров. Для joomla компонента нужно придумать английское название - чтобы можно было использовать в разработке.  

Скачать эту часть компонента можно по ссылке Скачать компонент .
Компонент устанавливается стандартно через установщик joomla.

Создадим структуру компонента с выводом панели управления в админке.

1054 Unknown column '' in 'order clause' SQL=SELECT * FROM `#__postinstall_messages` WHERE `extension_id` = '700' AND `enabled` = '1' ORDER BY `` ASC

1054 Unknown column '' in 'order clause' SQL=SELECT * FROM `#__postinstall_messages` WHERE `extension_id` = '700' AND `enabled` = '1' ORDER BY `` ASC

решение нашел на форуме http://joomlaforum.ru/index.php/topic,289399.0.html

только я ничего не удалял, установил через стандартный установшик в админке эту библиотеку   - https://www.akeebabackup.com/download/fof/2-1-1.html

JavaScript Высота и ширина броузера

function getViewportSize() {
var a = document.documentElement,
d = document.body,
b = document.compatMode == "CSS1Compat",
c = window.opera,
e = b && c ? window.innerWidth : b && !c ? a.clientWidth : d.clientWidth;
a = b && c ? window.innerHeight : b && !c ? a.clientHeight : d.clientHeight;
return [e, a]//ширина и высота видимой части
};

var  XY = getViewportSize();
var x = XY[0];
var y = XY[1]

Phoca gallery – убрать копирайт powered by phoca gallery 2.7.8

Phoca gallery – убрать копирайт powered by phoca gallery 2.7.8

В своих компонентах конечно не очень охото, чтобы убирали ссылку на мой сайт, но бывает что очень надо - особенно когда заказчик просит чтобы все ссылки были убраны

нашел следующее в этой версии Phoca gallery

Капча в регистрации com_user joomla 1.5

В joomla нет капчи при регистрации, что изрядно надоедает когда начинается массовая регистрация роботами на сайте.

В данной статье расскажу, как добавить капчу в joomla при регистрации. По аналогии можно добавить капчу при авторизации. А также, в конце вы можете просто скачать готовое решение и поставить у себя сайте.

Различные аналогичные функции PHP для Javascript

Список функция для javacsipt, которые являются аналогами функция php


function strlen( mixed_var ) {
return mixed_var.length;
}


// Преобразует строку в нижний регистр
function strtolower( mixed_var ) {
return mixed_var.toLowerCase();
}

// Преобразует строку в верхний регистр
function strtoupper( mixed_var ) {
return mixed_var.toUpperCase();
}

Работаем в офисе

Устраиваясь на работу, окидываю взглядом помещение, в котором придется работать.

Придется - первый минус и, пожалуй, самый многозначный. Самая главная загвоздка работы в офисе - это дополнительные ограничения, которые отчасти дисциплинируют, отчасти угнетают, отчасти упрощают руководству контроль за подчиненными, отчасти снимают некоторую ответственность.
Поэтому, если уж устроился на работу именно сюда...
Пеняй на себя:
  • придется работать в том помещении и той обстановке которую тебе предлагает работодатель;
  • придется общаться коллегами, хочешь ты того или нет (хотя это не всегда минус)
  • придется начинать и заканчивать работать во время, которое тебе установит работодатель;
  • придется просить об отгуле, чтобы тебе разрешили решить личные вопросы;
Ну и тогда почему же люди работают в офисе?
Как это не парадоксально, не у всех есть дома хороший компьютер для работы и ,конечно же, быстрый и почти бесплатный безлимитный интернет. Только это, пожалуй, не самая главная причина.
Гораздо более высокой преградой на пути самостоятельной деятельности служит страх, или лень, или нежелание брать ответственность, или просто стереотипы - работать нужно на работе, или еще много всего... Короче говоря, братцы, психология…
Вообще , сейчас работа в свободном полете в равной степени настораживает, как и работодателей, так и свободно трудящихся, но таких уже не абсолютное большинство. Проще выходить на работу, садиться за свое рабочее место и выполнять задание. И заказчикам, вроде прощее, если что мол, мы знаем где вас искать! Не напрягаться и не думать о том, что завтра, возможно, нечего будет делать, нужно еще и параллельно заняться поиском работы. В офисе это не твоя проблема, выполняешь работу в соответствии со своими обязанностями. Потом приходишь за зарплатой, и надейся, что тут тебя не настигнет разочарование.
Ничего не отвлекает от рабочего процесса. Типа устал - пойду прилягу, или проголодался - пойду поем, или пойду прогуляюсь. А за окном весна...
Все в строго отведенное время - армейский распорядок или несколько иной, для особо опасных. Кто-то найдет в этом плюс, а кто-то существенный недостаток.
Но самое важное и полезное при работе в офисе: то, что ты, дождавшись заветного конца рабочего дня, можешь, а иногда просто нет выбора, со всей халатностью и безответностью, все бросит встать и пойти домой.
Именно так сейчас и сделаю.....

Как создавался один футбольный сайт или как я ушел из офиса

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

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

Вот тут то и началось. Показали сайт заказчикам, они сказали все отлично. Через некоторое время попросили переделать немного дизайн, потом еще. Потом удивились что у них стоят компоненты, которые могут не понравиться их начальству, затем они вовсе расстроились, что у них стоит joomla и за что они вообще платят, если система бесплатная. Через некоторое препирание и перепаивание компонентов и самой joomla сошлись на том, чтобы я переносил сайт на их хостинг и поскорей, а то начинается футбольный сезон.

Все быстро перенес и спокойный пошел домой. Но спокойствие прервал звонок с офиса, оказалось что нельзя запускать пустой сайт было, это по какому-то регламенту запрещается, заказчики звонили в офис, а оттуда мне, как виновнику торжества.

Но дела с сайтом не закончились скоро, оставался еще один вопрос оплаты. Первую часть заказчик оплатил конторе. А контора ждала всей оплаты, поэтому я все переделывал, доделывал по просьбам заказчиков в глубокой надежде на оплату своей работы.

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

На мой взгляд, во всей этой истории нет виновных, или виновны все - что равнозначно. Я-за то, что суетился, сомневался, невнимательно отнесся ко всем мелочам, заказчики-за то что суетились, сомневались, невнимательно отнеслись к своему сайту, ну а контора-за то, что все пустила на самотек и в итоге не захотела расстаться с деньгами, а рассталась со мной. Чему я несказанно рад. Я стал работать на себя, и получил огромный урок - суета бессмысленна.

Работа вне офиса

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

Есть ли разница где работать?

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

Работая некоторое время на фрилансах, я понял для себя несколько интересных вещей.

1. Работать можно много, но зарабатывать мало. И тут все зависит от того, насколько ты уверен внутренне в себе - а значит в заказчике, в работе. Если делать работу с дрожащими коленками сомневаясь получиться ли доделать, успею ли доделать, то во время работы будет вылазить очень много ошибок, причем таких, что волосы на голове седеют.

2. Если начать думать, что ты делаешь работу и за нее ты берешь деньги большие, чем стоит эта работа или вообще за нее не надо платить, заказчик может вообще пропасть или появится куча вопросов у него и ты как раз отработаешь свои деньги.

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

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

Зачем мне сайт?

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

Сайт Золотое Сечение

Рад вас приветствовать на своем сайте, посвященному созданию Web-сайтов. Я занимаюсь разработкой сайтов, преимущественно на системе joomla, CMS Open Cart и Wordpress. 
Разработкой компонентов, модулей, плагинов для joomla всех версий, Open Cart всех версий и Wordpress.

Полезности по joomla Для програмирования

Получить модель по ее имени
$model = JModel::getInstance('cart', 'jshop');

Сделать выпадающий список средствами joomla
/*$kat=array();
$kat[]=JHTML::_('select.option', -1, '--выберите статус--');
$kat[]=JHTML::_('select.option', 0, 'Одобрено');
$kat[]=JHTML::_('select.option', 1, 'не просмотрено');
$kat[]=JHTML::_('select.option', 2, 'Заблокировано');
$kat[]=JHTML::_('select.option', 3, 'Удалено пользователем');
$lists['status'] = JHTML::_('select.genericlist',   $kat, 'status', 'class="inputbox" size="1"  ', 'value', 'text', $model->_status);

Покупка готового скрипта

joomla 3