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

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

Вывод модуля поддомена на Главной

 (Прочитано 274 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Sef
Захожу иногда
**

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

Сообщений: 12


« : 17.02.2016, 14:33:27 »

Здравствуйте.Подскажите пожалуйста как сделать, вернее написать решение на php.
Вопрос в следующем: Есть сайт.ру
  • 1.сайт.ру
  • 2.сайт.ру
  • .......
  • 10.сайт.ру
и т.д. На каждом из поддоменов на главной выводится компонентом (или, например, модулем) информация определённой тематики. Необходимо так же модулем или подключаемым файлом с кодом, сделать вывод определённого количества информации с каждого поддомена. Направьте пожалуйста в какую сторону копать.
Записан
umbabaraumba
Практически профи
*******

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

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

если помог можете поставить +


« Ответ #1 : 17.02.2016, 19:15:51 »

через iframe можно показывать информацию с другого сайта .
Записан
Sef
Захожу иногда
**

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

Сообщений: 12


« Ответ #2 : 18.02.2016, 06:50:17 »

Спасибо. Попробую.
Записан
Sef
Захожу иногда
**

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

Сообщений: 12


« Ответ #3 : 20.02.2016, 08:14:33 »

В общем-то фреймы дело хорошее, но, увы, не в данном случае. И так и сяк, не получается то, что нужно. Воспользовался встроенной функцией создания модуля вида "Обертка", выводит поддомен, но как вывести только интересующую информацию - не сообразил. В общем задача несколько сложнее, нежели я предполагал  и посему распишу её подробнее.
Есть 20 поддоменов, являющихся подразделами всего сайта, в каждом поддомене категории определенной тематики. На главной странице каждого поддомена  поставлен модуль, выводящий "№" количество популярных (или, допустим, последних добавленых)  тем-материалов из указанных категорий. Задача следующая:
Необходимо каким-то образом из каждого поддомена зацепить модуль с главной страницы поддомена и вывести его на главной странице основного домена.
Второй вариант решения - это установка какого-либо модуля на основной домен, который будет отображать указанные темы из указанных категорий, сортируя их по популярности, из обозначенных поддоменов.
И ещё один из вариантов-это взять модуль вывода, установить его на основной домен,залезть в код модуля и переписать,допустим, предлагаемую категорию из которой выводить, на предлагаемый список существующих поддоменов..... Но решала php я пока что только самый что ни на есть начинающий и на подобную работу пока что не готов.

Кстати по логике вещей, думаю, что возможно попытаться решить подобную задачу и с помощью модуля-обертки, но в таком случае необходимо понять каким образом обернуть и вывести на главной странице домена только модульную позицию шаблона поддомена вместе с модулем вывода популярных материалов, который в этой модульной позиции шаблона выводится.
Всем спасибо.
« Последнее редактирование: 20.02.2016, 08:20:28 от Sef » Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

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


« Ответ #4 : 20.02.2016, 09:20:00 »

Напишите модуль a la mod_articles_news, который извлекает нужные данные из БД поддомена и показывает на главном домене.
Записан
Sef
Захожу иногда
**

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

Сообщений: 12


« Ответ #5 : 20.02.2016, 11:22:57 »

Спасибо, Роберт, совет стОящий... Но если Вы внимательно прочтёте предыдущий пост, то обратите внимание, что я и написал что-то подобное, как один из возможных вариантов и проблема в том, что я только начинаю вникать и учить язык php. Поэтому на сегодняшний день для меня проблематично будет написать модуль, хотя это в будущем. А сейчас вопрос стоит остро по причине переезда в другой город на ПМЖ 5 марта и я просто не успею разобраться за две недели при моих нынешних знаниях первого курса, а там вряд ли у меня будет в первое время - полноценное Время для работы с сайтом. А проект готов к запуску и проблема встает только в вышеописанном вопросе. Соответственно, пусть и не 100% готовое, но максимально рабочее решение хотелось бы найти.Подскажите что править и какой из файлов в mod_articles_news?
Записан
robert
Профи
********

Репутация: +344/-11
Offline Offline

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


« Ответ #6 : 21.02.2016, 12:32:07 »

Файл helper.php. Переписать полностью функцию getList(). Ну и добавить пару полей в XML, чтобы можно было прописывать адрес поддомена и данные для подключения к его БД с целью создания копий модуля для каждого поддомена.
Писать код для вас я не буду: это небыстро и не в моих правилах, но помогать вам его написать могу.
Записан
Sef
Захожу иногда
**

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

Сообщений: 12


« Ответ #7 : 21.02.2016, 18:39:50 »

Спасибо.Писать за меня ничего не нужно, мне необходимо понять самому что происходит, в дальнейшем информация, поди, пригодится) Сегодня перелопатил кое-какую информацию и уж сам понял, что изменения необходимо внести в хелпер и XML файлы модуля. В хелпере в начале прописан следующий код:

defined ('_JEXEC') or die('Restricted access');
class modComponentItems{
   public static function getItems($params){
      
      $date_time    = JFactory::getDate();
      $date_exp   = $date_time->toSQL();
      $db      = JFactory::getDBO();
      $user      = JFactory::getUser();
      $ord       = "i.date_start DESC";
...........

в файле 180 строк, но если я правильно понял, за вывод необходимой информации из нужной БД отвечает как раз переменная $db, правда как она тут работает я не совсем пока понимаю. Можно ли в данном случае каким-то образом присвоить переменной параметр (как то имя поддомена и имя БД) и ничего больше не менять при этом в файле? В общем-то вопрос видимо и заключается в том, как и что прописать так, чтоб модуль работал как работает, но БД использовал, так скажем, стороннюю?

Ещё подскажите, пожалуйста где наглядно посмотреть пример XML файла в котором есть поля для подключения к БД
Записан
Sef
Захожу иногда
**

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

Сообщений: 12


« Ответ #8 : 26.02.2016, 13:38:02 »

Всем привет. Нашел время продолжить разбор темы.
Наткнулся на похожий вопрос http://joomlaforum.ru/index.php?topic=135788.0

Сделал вроде всё похоже: В менеджере модулей создаю модуль HTML код, вставляю сам код с соответствующими данными и сохраняю, но в начале кода происходит обрезка символов до 'mysqli'. Короче не работает.

<?php
defined('_JEXEC') or die('Restricted access');
jimport('joomla.application.component.modellist');
class HelloWorldModelHelloWorlds extends JModelList
{
   protected function getListQuery()
   {
      $option = array(
        'driver' =>  'mysqli',
        'host' => 'mysql.server.host.ru',
        'user' => 'takoyto_user',
        'password' => 'takoyto_pass',
        'database' => 'takayato_baza',
        'prefix' => 'takoyto_prefix'
        );
           
      
$db2 = JDatabase::getInstance( $option );
      $query = $db2->getQuery(true);
      $query->select('id,greeting');
      $query->from('prefix__helloworld');
      $db2->setQuery($query);
      $res = $db2->loadObject();
       echo $res->greeting;
      return $query;
   }
}
?>

Кстати попробовал поставить компонент Jumi и через него вывести этот код, но тоже самое что и с модулем HTML - происходит обрезка символов.
Записан
Страниц: [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