Тыкать не стану, чтобы не возникало других вопросов.
Вот смотрите, какая цепочка:
1) Есть URL:
http://www.site.ru/index.php?option=
com_joomleague&
p=
25&
func=
editresults&
Itemid=
36&
mode=
1смотрим, значения каких переменных тут передаются:
option=com_joomleague — всё понятно - компонент JL
p=25 — id текущего проекта
func=editresults — самое для нас главное, расскажу ниже
Itemid=36 — id "подсвечиваемого" пункта главного меню сайта
mode=1 — просто ещё одна переменная
Нас (вас) больше всего интересует переменная
func (своего рода она отвечает на вопрос компонента "Чего надо-то от меня?").
В примере выше значение переменной = "editresults". Теперь открываем файл /components/com_joomleague/
joomleague.php и видим в нем целую кучу "
case"-ов, привязанных к значению этой переменной
func.
[spoiler title=Пример с editresults]case "editresults":
$htmlHelper->makeAjaxContainer ('evedit', 'myeventscontainer');
require JL_FUNCTIONS_PATH.'/editresults.php';
editResults($jl_func, $r, $overall_config);
break;[/spoiler]
2) Нашли нужный case. Далее ищем файл, в котором находится функция, отвечающая за выполнения этой операции (подсчет каких-либо очков или ещё что-то — в примере выше - редактирование каких-то результатов)
require JL_FUNCTIONS_PATH.'/editresults.php'; — "аттач" содержимого этого файла (/components/com_joomleague/lib/editresults.php)
editResults($jl_func, $r, $overall_config); — вызов функции editResults, описанной в файле editresults.php
3) Открываем editresults.php, находим эту функцию (к счастью, в нашем примере там всего одна функция — эта). В самом-самом низу кода видим вызов соответствующего шаблона вывода результатов:
require(getTemplateFile(JL_TEMPLATE_PATH, 'edit_results_advanced.tpl.php'));
Редактируя функцию - меняем основную логику, а редактируя шаблон - настраиваем всю "красоту".
Резюме:
1) вы сами можете придумать и описать свой уникальный case и, вызывая его соответственно выполнять нужные вам операции с компонентом. 2) Вы можете писать свои функции и шаблоны на основе готовых функций и шаблонов JL — расширяйте функционал по своему желанию/необходимости.
3) Разобравшись в основной схеме работы компонента, можно с точностью 99,9% найти нужное место кода — функцию с SQL-запросом, "косячещее" место в шаблоне и т.д.
Удачи.
