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

tmpnikl

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

effrit

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

tmpnikl

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

effrit

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

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

*

tmpnikl

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

pavelrer

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

tmpnikl

  • Захожу иногда
  • 378
  • 2 / 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

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

tmpnikl

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

effrit

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

tmpnikl

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

effrit

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

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

*

tmpnikl

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

Остановка функции, и возращение результата

Автор Alesso

Ответов: 1
Просмотров: 96
Последний ответ 21.10.2017, 21:15:41
от robert
Что писать в файле default.php в папке mod_search?

Автор Antuan888

Ответов: 4
Просмотров: 213
Последний ответ 09.07.2017, 21:52:04
от Antuan888
Необходимо писать каждому пользователю уникальный текст из админ панели

Автор Ильяfeniks_06

Ответов: 2
Просмотров: 281
Последний ответ 15.04.2017, 01:48:57
от pavelrer
Два сообщения одновременно: вошёл и надо пройти авторизацию

Автор ingavr

Ответов: 2
Просмотров: 228
Последний ответ 14.04.2017, 00:29:11
от ingavr
Вызов процедуры (функции) из статьи

Автор igorigor76

Ответов: 4
Просмотров: 299
Последний ответ 13.04.2017, 22:06:47
от ChaosHead