vinegredz Posted March 14, 2019 Share Posted March 14, 2019 Здравствуйте! Подскажите, пожалуйста, как исправить ошибку. Я пытаюсь забрать контент для таблицы из внешней базы данных (тоже IPS). // Создал подключение к внешней базе данных (работает) {{$connection = \IPS\Db::i( 'mydatabase ', array('sql_host' => 'localhost', 'sql_user' => 'user', 'sql_pass' => 'password', 'sql_database' => 'database', 'sql_port' => 3306, 'sql_socket' => '/var/lib/mysql/mysql.sock', 'sql_utf8mb4' => true,) );}} // Получил данные из конкретного поля (работает) {{$select = \IPS\Db::i( mydatabase )->select( '*', 'cms_custom_database_8', array( 'primary_id_field=?', 5231 ) )->first();}} {$select['field_21']} // Пытаюсь получить данные {{$table = new \IPS\Helpers\Table\Content('IPS\cms\Records8', $record->url(), array(array(\IPS\Db::i( mydatabase )->findInSet('field_21', array($model_id)))));}} {$table|raw} Получаю ошибку (Class 'IPS\cms\Records8' not found), что не существует класса IPS\cms\Records8, что логично, потому что этот класс есть только в другой установке IPB. Подставлял сюда класс, который существует для установки, из которой делается подключение, но тогда ошибка, что не найдена колонка field_21 в базе данных. Читал документацию, но не нашел что еще принимает этот параметр на входе. Весь код использую в шаблонах IPB Pages. И первая и вторая установки версии 4.3.6 Link to comment Share on other sites More sharing options...
siv1987 Posted March 14, 2019 Share Posted March 14, 2019 А с чего должно быть такого класса? Этот класс имеет единственное название - IPS\cms\Records Link to comment Share on other sites More sharing options...
Dmitriy427 Posted March 14, 2019 Share Posted March 14, 2019 Вы не можете использовать класс \IPS\Helpers\Table\Content для работы со сторонней БД. Можете разместить скрипт на втором сайте и получить готовый HTML в другой скрипт, на первом, с помощью file_get_contents(). Link to comment Share on other sites More sharing options...
vinegredz Posted April 5, 2019 Author Share Posted April 5, 2019 Сделал работающий вариант: УСТАРЕВШИЙ КОД И по сути я могу управлять шаблоном вывода как захочется, но это не удобно, потому что приходится вносить правки в двух местах сразу. Поэтому вопрос. Как мне выводить данные из внешней базы данных используя шаблон template_id = 3 таблицы cms_templates этой же внешней базы данных? Или я слишком мудрю и есть способы проще без минусов? Вариант с file_get_contents() я не осилил. Link to comment Share on other sites More sharing options...
siv1987 Posted April 5, 2019 Share Posted April 5, 2019 А чем класс форума из первого примера для работы с внешней бд не устраивает? Подключение можно вывести в отдельный файл который отрабатывает в обоих случаях, а в шаблоне использовать только запросы. Ну можете создать файл, где происходит запросы, а в шаблоне обращаться к нему через file_get_contents. А вообще, делайте по мере своих возможностей, если работает то не стоит усложнять себе задачу. Link to comment Share on other sites More sharing options...
siv1987 Posted April 5, 2019 Share Posted April 5, 2019 Кстати можно создать шаблон форума, встунуть туда ваш код и подключать его в нужном месте. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now