Форум русской поддержки Joomla!® CMS
04.12.2016, 14:11:25 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

подключение php из файла

 (Прочитано 364 раз)
0 Пользователей и 1 Гость смотрят эту тему.
ALEHAN
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 29


« : 02.02.2016, 11:56:00 »

делаю шаблон. Нужно реализовать другую структуру для главной страницы. Сейчас реализовано так:

<?php if (JURI::current() == JURI::base()) { ?>
код главной страницы
<?php } else { ?>
код страниц сайта
<?php } ?>

Неудобно править код в одном файле, да и вес получается большой.
Как реализовать подключение кода через отдельные файлы для главной и остальных страниц сайта?
<?php if (JURI::current() == JURI::base()) { ?>
главная.php
<?php } else { ?>
остальные страницы.php
<?php } ?>
Записан
Apoca1ypto
Завсегдатай
*****

Репутация: +63/-0
Offline Offline

Пол: Мужской
Сообщений: 617



« Ответ #1 : 02.02.2016, 12:07:26 »

include ?
Записан
ALEHAN
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 29


« Ответ #2 : 02.02.2016, 12:40:58 »

то что надо файлы инклюдить понятно, хотелось бы получить профессиональный код для Joomla 3, что бы дыры не плодить. Рыская по интернетам нашел примеры только для Joomla 1.5 и то расположение файлов должно было быть в корне сайта, а не в папке шаблона
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2272



« Ответ #3 : 02.02.2016, 12:53:06 »

то что надо файлы инклюдить понятно, хотелось бы получить профессиональный код для Joomla 3, что бы дыры не плодить. Рыская по интернетам нашел примеры только для Joomla 1.5 и то расположение файлов должно было быть в корне сайта, а не в папке шаблона
Какой профессиональный код вам нужен? Их всего две функции, про одну из них сказали, вторая require. Этими двумя функциями и подключаются скрипты из соседних файлов. И они могут быть где угодно, необязательно в корне. Прочитайте про синтаксис этих функций. И хочу дать ссылку на хороший ресурс. Там много документации по разработке расширений, в том числе и для тройки.
Записан
ALEHAN
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 29


« Ответ #4 : 03.02.2016, 02:11:38 »

Какой профессиональный код вам нужен? Их всего две функции, про одну из них сказали, вторая require. Этими двумя функциями и подключаются скрипты из соседних файлов. И они могут быть где угодно, необязательно в корне. Прочитайте про синтаксис этих функций. И хочу дать ссылку на хороший ресурс. Там много документации по разработке расширений, в том числе и для тройки.
Спасибо уважаемый! Вместо строчки кода куча воды. Меня прямо наполнило просветлением! Вот прямо именно Ваше сообщение ждал! Гуглить не умею, поиском пользоваться не умею, и только Ваше информативное сообщение ждал
Записан
ALEHAN
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 29


« Ответ #5 : 03.02.2016, 02:49:28 »

В общем использовал простую php конструкцию <?php include 'base.php' ?>
Но насколько это верно с точки зрения Joomla синтаксиса? Насколько знаю, Joomla бОльщую часть важных вызовов php функций по своему делает. В конечном файле прописал <?php defined('_JEXEC') or die('Restricted access'); ?>
Достаточно ли этого будет?
PS В php не разбираюсь, если бы разбирался, то и не задавал бы вопросов)
Записан
Wertos
Завсегдатай
*****

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 543


« Ответ #6 : 03.02.2016, 03:37:56 »

Код
<?php
if (JURI::current() == JURI::base()) {
require_once JPATH_THEMES.DS.'твоя_тема'.DS.'base.php';
} else {
require_once JPATH_THEMES.DS.'твоя_тема'.DS.'no_base.php';
}
?>
Записан
ALEHAN
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 29


« Ответ #7 : 04.02.2016, 01:15:24 »

Код
<?php
if (JURI::current() == JURI::base()) {
require_once JPATH_THEMES.DS.'твоя_тема'.DS.'base.php';
} else {
require_once JPATH_THEMES.DS.'твоя_тема'.DS.'no_base.php';
}
?>
Огромное спасибо. Плюс в карму. коротко и по теме.
Записан
Wertos
Завсегдатай
*****

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 543


« Ответ #8 : 04.02.2016, 01:19:20 »

Код
require_once JPATH_THEMES.DS.'твоя_тема'.DS.'layouts'.DS.'base.php';
лучше такой путь
Записан
dmitry_stas
Профи
********

Репутация: +795/-4
Offline Offline

Сообщений: 7740



« Ответ #9 : 04.02.2016, 01:22:37 »

константа DS уже устарела и в Ж3 отсутствует. используйте слеш / (либо DIRECTORY_SEPARATOR)
Записан
ALEHAN
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 29


« Ответ #10 : 04.02.2016, 10:44:55 »

Код
require_once JPATH_THEMES.DS.'твоя_тема'.DS.'layouts'.DS.'base.php';
лучше такой путь
layots, я так понимаю, используется в профессиональных шаблонах с россыпью файлов, и при одном/двух фалах для личного применения не критично для личного использования в корне шаблона иметь?

константа DS уже устарела и в Ж3 отсутствует. используйте слеш / (либо DIRECTORY_SEPARATOR)
то есть вот так правильнее?
Код
require_once JPATH_THEMES./.'mytheme'./.'base.php';
Записан
dmitry_stas
Профи
********

Репутация: +795/-4
Offline Offline

Сообщений: 7740



« Ответ #11 : 04.02.2016, 11:09:34 »

require_once JPATH_THEMES.'/mytheme/base.php';
Записан
SeBun
Практически профи
*******

Репутация: +134/-3
Offline Offline

Пол: Мужской
Сообщений: 2272



« Ответ #12 : 04.02.2016, 13:33:35 »

Ну или вот такой костыль для тех, кто пишет по старинке:
Код
define('DS',DIRECTORY_SEPARATOR);
require_once JPATH_THEMES.DS.'твоя_тема'.DS.'layouts'.DS.'base.php';
Простите за черный юмор )
Записан
Wertos
Завсегдатай
*****

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 543


« Ответ #13 : 04.02.2016, 13:43:24 »

Ну или вот такой костыль для тех, кто пишет по старинке:
Код
define('DS',DIRECTORY_SEPARATOR);
require_once JPATH_THEMES.DS.'твоя_тема'.DS.'layouts'.DS.'base.php';
Простите за черный юмор )
Я в defines.php сразу DS задаю таким образом...
Записан
dmitry_stas
Профи
********

Репутация: +795/-4
Offline Offline

Сообщений: 7740



« Ответ #14 : 04.02.2016, 19:47:43 »

Ну или вот такой костыль для тех, кто пишет по старинке:
а зачем писать по старинке? Azn

Я в defines.php сразу DS задаю таким образом...
т.е. потом еще и с обновлениями проблемы имеем? Azn
Записан
Wertos
Завсегдатай
*****

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 543


« Ответ #15 : 04.02.2016, 20:57:08 »

т.е. потом еще и с обновлениями проблемы имеем? Azn
на 3.5 уже не перейду точно... Ибо уже столько напереписано что ппц !
Записан
dmitry_stas
Профи
********

Репутация: +795/-4
Offline Offline

Сообщений: 7740



« Ответ #16 : 04.02.2016, 20:59:37 »

ну что сказать? поздравляю Azn в один из таких моментов люди и приходят к плагинам Azn
Записан
Wertos
Завсегдатай
*****

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 543


« Ответ #17 : 04.02.2016, 21:26:10 »

ну что сказать? поздравляю Azn в один из таких моментов люди и приходят к плагинам Azn
А кто сказал что я не пришёл ? Не всё решается плагинами...
Записан
dmitry_stas
Профи
********

Репутация: +795/-4
Offline Offline

Сообщений: 7740



« Ответ #18 : 04.02.2016, 21:36:00 »

что не решается? не видел такого. может быть не все решается так оптимально, как можно было бы решить без плагина прямым так сказать массажем. но плагинами решить можно 99.99% задач.
Записан
Wertos
Завсегдатай
*****

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 543


« Ответ #19 : 04.02.2016, 21:37:47 »

что не решается? не видел такого. может быть не все решается так оптимально, как можно было бы решить без плагина прямым так сказать массажем. но плагинами решить можно 99.99% задач.
Возможно, но вот это http://joomlaforum.ru/index.php/topic,323049.msg1615781.html#msg1615781  я не знаю как решить плагинами...
Записан
dmitry_stas
Профи
********

Репутация: +795/-4
Offline Offline

Сообщений: 7740



« Ответ #20 : 04.02.2016, 21:51:26 »

а что там знать? Azn не вызывайте вообще нативный метод, возьмите на себя логику формирования, и все Azn и решите вопрос, и хака не будет. это второй вариант. первый вариант вам в той теме сказали - Pull Request. тоже хака не будет, и тоже вопрос решите Azn

я ж согласен
Цитировать
не все решается так оптимально, как можно было бы решить без плагина
но для поддержки в дальнейшем имхо это всегда лучше, чем потом на обновы или вообще забить или по 5 часов тратить выверяя изменения.
Записан
Wertos
Завсегдатай
*****

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 543


« Ответ #21 : 04.02.2016, 22:08:01 »

первый вариант вам в той теме сказали - Pull Request. тоже хака не будет, и тоже вопрос решит
В этом я сииииильноо сомневаюсь !
Записан
dmitry_stas
Профи
********

Репутация: +795/-4
Offline Offline

Сообщений: 7740



« Ответ #22 : 04.02.2016, 22:11:55 »

почему так думаете? ведь речь же об ошибке в ядре. думаете что не будут исправлять? думаю будут
Записан
Wertos
Завсегдатай
*****

Репутация: +21/-0
Offline Offline

Пол: Мужской
Сообщений: 543


« Ответ #23 : 04.02.2016, 22:28:09 »

почему так думаете? ведь речь же об ошибке в ядре. думаете что не будут исправлять? думаю будут
Плюс ко всему ещё забить башку изучением git ! Потому что мои познания заканчиваются на git clone !
Записан
dmitry_stas
Профи
********

Репутация: +795/-4
Offline Offline

Сообщений: 7740



« Ответ #24 : 04.02.2016, 22:42:37 »

Плюс ко всему ещё забить башку изучением git
Grin Grin понял Azn
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet