Где надо писать функции

  • 13 Ответов
  • 187 Просмотров

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

*

Оффлайн tmpnikl

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

*

Оффлайн effrit

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

*

Оффлайн tmpnikl

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

*

Оффлайн effrit

  • *****
  • 7438
  • [+]822 / [-]7
  • effrit.com
    • Просмотр профиля
    • effrit.com
Re: Где надо писать функции
« Ответ #3 : 18.01.2017, 13:19:01 »
вопрос был "куда прописать"
ответ получен :)

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



*

Оффлайн tmpnikl

Re: Где надо писать функции
« Ответ #5 : 18.01.2017, 13:42:53 »
спасибо

*

Оффлайн pavelrer

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

*

Оффлайн tmpnikl

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

*

Оффлайн pavelrer

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

*

Оффлайн tmpnikl

Re: Где надо писать функции
« Ответ #9 : 19.01.2017, 13:27:14 »
скорость, каждый раз перестраивать страницу и т.д., конечно надо использовать AJAX, но с ним потом поразбираюсь..:-)

*

Оффлайн effrit

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

*

Оффлайн tmpnikl

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

*

Оффлайн effrit

  • *****
  • 7438
  • [+]822 / [-]7
  • effrit.com
    • Просмотр профиля
    • effrit.com
Re: Где надо писать функции
« Ответ #12 : 19.01.2017, 14:46:30 »
если надо что-то вставить в текст статьи, то надо учить регулярки и делать свой плагин.

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


*

Оффлайн tmpnikl

Re: Где надо писать функции
« Ответ #13 : 19.01.2017, 14:59:52 »
спасибо, будем гуглить..:-)