О выводе меток, начало на старой площадке (форуме)

More
12 years 8 months ago #197 by Dima
Если посмотрите компонент, так это все и увидите. И модель, и описание таблиц, и представление.
Я делал компонент по MVC модели, описанной в Joomla. Плагин - также из документации джумлы.
Верстка - я делаю дивы, а там где удобнее табличкой, я делаю и дивы и таблицу. Смотрите, например, группы меток так сделаны. Список меток (будет клнирован на этой неделе) сделан также, как хочешь - так и делай верстку.

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

Иначе - читайте RSS-ленту клуба разработчиков яндекс.карт - это ОФИГИТЕЛЬНО весело.

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

Ну и спрашивается. Прочитай API, пройдись по примерам. Нет. Это не наш подход. Запустили и пытаемся раскорячиться.

Как-то так, навеяло :P:P

Don't forget support my developments: post review in JED , donate , help with translation ;)

Please Log in or Create an account to join the conversation.

More
12 years 8 months ago #199 by dtvims

Запустили и пытаемся раскорячиться

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

Тупо брать код, модифицировать и получать то, что хочется - это плохой путь

Если "Тупо" брать, то да, плохой метод. А если брать с Умом? Разобраться что происходит в коде очень легко. Знаете как в результате SQL запроса на Oracle получить получить разницу из двух DateTime, отформатированных как промежуток в "1 15:30:55" (где 1 - это, что между датами прошел 1 день и все остальное) или Если есть поле DateTime в GMT, а надо получить Московское время с учетом перехода на летнее время (с отменой которого возникли новые проблемы, чтобы учесть, что раньше он был, а теперь нет)? С виду задачи простые, но решаются только через несколько преобразований, которые совершенно не очевидны. Я из примеров как правило ничего не оставляю. Просто смотрю какие вызовы и для чего используются и на готовом примере вижу сразу что будет. Посмотрел наглядно, увидел чего я хочу. Сделал все с нуля, но времени на разработку и изучение ушло в 10 раз меньше.
Вот, например, слазил в файлик /libraries/joomla/html/html.php и узнал как переопределить системные стили из Темы :woohoo: . Почему-то написано что можно переопределять шаблоны компонентов, плагинов и т.п. А Про системные стили не упомянули :(

Плагин - также из документации джумлы

Тогда не надо было оставлять "getQuery" в шаблоне. "view.html.php - через него мы будем представлять данные" - это как приватная часть класса и только ряд фукнций оставить для использования в шаблоне, определив их как Public. Хочу список групп - вызвал функцию GetGproupList. Хочу добавить Некоторые метки для карты - Вызвал функцию getPlacemarkJS($filter) и получил готовый JavaScript, с определениями нужных меток, а параметр "filter" можно даже из поисковой формы заполнять. Да и верстке переменных для описания меток на JavaScript
Code:
insertPlacemark.setBalloonContent(contentInsertPlacemark);
, думаю тоже там не место (Простите за критику). В /tmpl/default.php должны остаться только HTML И вызовы функций для получения данных, ну и конечно условные операторы и циклы, для обработки вывода массивов данных и учета параметров. Всем расчетам и неизменяемым кодам для JS место во View.html.php.

На лентах RSS можно читать только простой базар, вроде нашего :blink:. Но на них иногда встречаются хорошие идеи и ссылочки на полезные статьи. Кстати, много раз убеждался в бестолковости многих книг, т.е. толщина на 5000 страниц, а реального содержания на 100 страниц, причем того что надо все-равно нет.
Тут стоит упомянуть, что удивился, когда понял, что документация для Joomla полностью легла в руки ее пользователей по принципу Wiki. Причем если Wiki сейчас уже хорошо развита, то тут какой-то голяк. Вроде класс описан, даже описание некоторых функций есть, а где описания параметров? Где описания систесных констант? Всю информацию собираю по кусочкам из различных блогов. Влез в joomla только потому, что нашел только одну готовую адекватную карту Zh YandexMap, да и наслышан был, что движок joomla хороший, не ожидал, что подстава будет в описании :(
На Typo3 разработчики сделали офигенно подробное описание движка, самое сложное понять суть, но когда доходит, то все становится прозрачно и легко, жаль только что движок очень тяжелый и ресурсоемкий :(

Please Log in or Create an account to join the conversation.

More
12 years 8 months ago #200 by Dima
Ну если посмотрите, то код там изменяемый. Неизменяемого нет :)
Как в случае вставки метки собирается форма для POST, так и для изменения меток.
Естественно, код именно работы (insert, update, delete) с базой я унесу в отдельные файлы как разберусь с динамическим вызовом (JQuery, Ajax и прочее)

С документацией действительно фигово. Кое-что было в tutorial, большая часть - поиск Google, ну и анализ исходников самой Joomla.

Тогда не надо было оставлять "getQuery" в шаблоне. "view.html.php - через него мы будем представлять данные" - это как приватная часть класса и только ряд фукнций оставить для использования в шаблоне, определив их как Public. Хочу список групп - вызвал функцию GetGproupList. Хочу добавить Некоторые метки для карты - Вызвал функцию getPlacemarkJS($filter) и получил готовый JavaScript, с определениями нужных меток, а параметр "filter" можно даже из поисковой формы заполнять.


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

Don't forget support my developments: post review in JED , donate , help with translation ;)

Please Log in or Create an account to join the conversation.

More
12 years 8 months ago #201 by Dima
Да, и думаю код работы с базой должен быть не во view.html.php, a в моделе.

Don't forget support my developments: post review in JED , donate , help with translation ;)

Please Log in or Create an account to join the conversation.

More
12 years 8 months ago #202 by dtvims

Ну если посмотрите, то код там изменяемый

Заменить можно все. Вопрос в движке. Если вы изменили движок и БД, то для разработчика, используещего Ваш API ничего не изменилось, а если Он ставил прямые запросы в базу, то может образоваться косяк.

Сначала - добить включение тех фичей, какие хочу.

Обычно двигаюсь в тойже последовательности, но в бой стараюсь отдать уже после рефакторинга.

По ACL копать рекомендую из такого примера:
Code:
$user = JFactory::getUser(); $canCreate = $user->authorise('core.create', 'com_weblinks.category.'.$item->catid);
Т.е. искать тут: /libraries/joomla/user/user.php

Please Log in or Create an account to join the conversation.

More
12 years 8 months ago #242 by maxim
Здравствуйте Дмитрий,

Огромное спасибо вам за разработку! Не могли бы вы подсказать, как выводить все метки зарегистрированным пользователям?

Если просматривать страницу с картой без регистрации видны все метки,

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

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

Заранее спасибо

Please Log in or Create an account to join the conversation.

Time to create page: 0.217 seconds
Powered by Kunena Forum