Новости Joomla

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

tmpnikl

  • Захожу иногда
  • 497
  • 4 / 0
Где надо писать функции
« : 18.01.2017, 10:11:11 »
на джум. установлен плагин source
В материале пишу функцию mf на php
Спойлер
[свернуть]
но дело в том что я создаю новый материал, и делаю копи паст этой функции из одного материала в другой
выходит сообщение об ошибке, что нельзя переопределять фцнкцию(redeclare), поэтому пока пишу в следующем материале вызов такой же функции под другим именем mf1 и т.д.
Как надо сделать правильно, чтоб один раз функцию написать и вызывать её из материалов?
PS: пишу в этой ветке, потому что ветки по этому плагину малопосещаемые...
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Где надо писать функции
« Ответ #1 : 18.01.2017, 10:19:02 »
такой код лучше писать в шаблоне вывода того элемента, где он будет использоваться.
если это, например, статья, то в папке шаблона в папке
Код
\beez3\html\com_content\article\default.php 
можно прописать.
beez3 - это для примера, если что ))
*

tmpnikl

  • Захожу иногда
  • 497
  • 4 / 0
Re: Где надо писать функции
« Ответ #2 : 18.01.2017, 11:04:46 »
Спасибо..
Не совсем понятно...
например у меня создан в отдельной папке файл пример.пхп
в нём например я пишу
$_zak_id=(int)$_REQUEST[id];
Ладно интерперетато PHP  не поймёт $_REQUEST, но джумл. будет запрашивать сервер для запуска этой программы, т.е. каждый раз будет дёргать сервер, когда локальные параметры можно вычислить "не отходя от кассы
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Где надо писать функции
« Ответ #3 : 18.01.2017, 11:19:01 »
вопрос был "куда прописать"
ответ получен :)

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

*

tmpnikl

  • Захожу иногда
  • 497
  • 4 / 0
Re: Где надо писать функции
« Ответ #5 : 18.01.2017, 11:42:53 »
спасибо
*

pavelrer

  • Давно я тут
  • 611
  • 10 / 2
Re: Где надо писать функции
« Ответ #6 : 18.01.2017, 22:43:17 »
Функцию или в материал.
Если ее еще где-то нужно, функцию в отдельный php и вызываем где хотим.
Только не забываем что есть входние и(или) выходные данные, их нужно передать тудым-сюдым.
Как-то так.
*

tmpnikl

  • Захожу иногда
  • 497
  • 4 / 0
Re: Где надо писать функции
« Ответ #7 : 19.01.2017, 10:30:46 »
Функцию или в материал.
А если в материале у меня между тегами source 10 функций(т.е. 10 файлов php),
<source>
код
f1()
код
...
f10()
 я 10 раз буду обращаться к серверу при каждой загрузке материала в браузер..
Вот пока как написали выше разбираюсь с плагинами, но что-то вариант не подходит..
писать в шаблоне статьи, но шаблон откуда-то скачан, как там найти где написать при загрузке материала. Где-то проходила информация, что можно написать в модуле с типом HTML и указать несуществующую позицию... но тоже пока не разобрался. В реальности я нашёл код на PHP, который вычисляет  адрес страницы, чтоб вернуться назад..конечно есть api Joomla, но думаю этот код надёжней..:-)
Спойлер
[свернуть]
Вот пока добавляю эту функцию в каждый материал..
« Последнее редактирование: 19.01.2017, 10:34:24 от tmpnikl »
*

pavelrer

  • Давно я тут
  • 611
  • 10 / 2
Re: Где надо писать функции
« Ответ #8 : 19.01.2017, 10:46:08 »
Цитировать
я 10 раз буду обращаться к серверу при каждой загрузке материала в браузер..
А что смущает?
*

tmpnikl

  • Захожу иногда
  • 497
  • 4 / 0
Re: Где надо писать функции
« Ответ #9 : 19.01.2017, 11:27:14 »
скорость, каждый раз перестраивать страницу и т.д., конечно надо использовать AJAX, но с ним потом поразбираюсь..:-)
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Где надо писать функции
« Ответ #10 : 19.01.2017, 12:11:46 »
матчасть гласит, что php код обрабатывается НА СЕРВЕРЕ.
когда материал загружается в браузер - PHP УЖЕ ОТРАБОТАЛ.
так что если аякса нет на странице, то и обращений - тоже нет.
но сурсер не для того, чтобы 10 раз php вставлять в один материал.
отсюда и совет про вставку в шаблон статьи или главный файл шаблона
*

tmpnikl

  • Захожу иногда
  • 497
  • 4 / 0
Re: Где надо писать функции
« Ответ #11 : 19.01.2017, 12:32:16 »
У меня нет шаблона статьи, а поиск в инете показывает, что есть шаблоны сайта, вот он у меня и есть скачанный, допустим я найду этот главный файл шаблона, index.php но как там надо написать("Hello" при условии перем.=1), между каких тегов, чтоб при загрузке материала, этот материал передал параметр 1 и получил ответ от этой функции и вывел это слово... Для меня пока это сложно.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Где надо писать функции
« Ответ #12 : 19.01.2017, 12:46:30 »
если надо что-то вставить в текст статьи, то надо учить регулярки и делать свой плагин.

по поводу шаблона вывода статьи - надо было про это по-больше почитать и разобраться, откуда в шаблоне beez этип папки HTML и глубже.
гуглить по фразе "переопределение шаблона Joomla"

*

tmpnikl

  • Захожу иногда
  • 497
  • 4 / 0
Re: Где надо писать функции
« Ответ #13 : 19.01.2017, 12:59:52 »
спасибо, будем гуглить..:-)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ограниченные функции Администратора

Автор espam

Ответов: 0
Просмотров: 373
Последний ответ 05.06.2023, 22:25:24
от espam
С определением функции регистрации

Автор sesil

Ответов: 0
Просмотров: 451
Последний ответ 09.08.2021, 11:40:04
от sesil
Вызов определенной функции модели ajax

Автор Dram

Ответов: 16
Просмотров: 404
Последний ответ 26.11.2020, 17:01:55
от Dram
Надо срочно! Не выпускает из кабинета пользователя

Автор Gleb72

Ответов: 20
Просмотров: 790
Последний ответ 23.12.2019, 17:36:06
от Gleb72
Перенаправляет на родителя при несуществующей категории, а надо на 404

Автор mishapod

Ответов: 1
Просмотров: 729
Последний ответ 04.01.2019, 17:23:16
от draff