Новости Joomla

Перевод и публикация интервью на греческом портале Joomla Утро, просматриваешь входящие письма и...

Перевод и публикация интервью на греческом портале Joomla 🇬🇷Утро, просматриваешь входящие письма и изучаешь новости и внезапно обнаруживаешь, что инициатива, которую ты начал, подхватывается другими людьми. 🎉Недавно я взял интервью у Билла (Василиса) Коциаса - руководителя студии, читающего лекции в университете и популяризатора Joomla в Греции.Это интервью из журнала NorrNext, в оригинале на английском, теперь доступно на греческом языке и опубликовано на портале joomla.gr. 🎉До чего же приятно… 😇😊 Работа замечена и с ней посчитали необходимым ознакомить аудиторию страны, в которой Билл читает лекции. И это солнечная Греция - страна, страна, с которой Россию многое связывает. 🇬🇷🇷🇺🕊Смотрю на греческий алфавит и тут же рисуются картины белоснежных зданий в окружении винограда и амфор, красивых женщин в сандалиях и мужественных воинов, охраняющих покой полисов, в которых ученые мужи работают над трудами, позже вошедшими в века. Красиво! 😇Но вернемся к интервью. Из него вы узнаете, что в Греции доля Joomla среди CMS занимает порядка 30-40%. По моему мнению это - самый высокий показатель во всем мире. Также чтение лекций о Joomla в университетах позволит привести новых пользователей и к тому же молодое поколение. Ну и огромное кол-во сертификтатов Билла на стене (смотрим фото в статье) свидетельствует о том, что Joomla может применяться как профессиональный инструмент. 🇬🇷 Интервью на греческом портале (joomla.gr)🌐 Оригинальное интервью (на английском)Что насчет перевода на русский? Увы, времени всего 24 часа в сутках. Я продолжаю готовить новые интервью. Возможно, после завершения выпуска журнала, рассмотрю перевод некоторых интервью на русский. Но я об этом не говорил. 😊 В блоге @eugenius_blog публикую анонсы интересных событий из мира Joomla, интервью, уроки и полезные советы, а также делюсь мыслями:, связанными с разработкой и веб-дизайном.

Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5

👩‍💻 Обработка HTTP ответа в Joomla 6+. Изменения по сравнению с Joomla 3 - Joomla 5.В Joomla для выполнения внешних запросов из PHP к сторонним API используется класс Joomla\Http\Http напрямую или же Joomla\Http\HttpFactory, который возвращает для работы преднастроенный по умолчанию класс Http. О работе с HTTP-запросами подробно рассказывалось в статье 2021 года Создание внешних запросов с использованием HttpFactory (Joomla). Некоторые изменения касаются работы с ответами на запросы. Например, наш запрос:
use Joomla\Http\HttpFactory;$http = (new HttpFactory)->getHttp($options, ['curl', 'stream']);$response = $http->get('https://any-url.ru/api/any/endpoint');
Раньше можно было получить код ответа или тело ответа как свойство $response - $response->code или $response->body. Однако, Joomla, начиная с Joomla 4 во многом переходит на стандарты PSR. В частности для работы с HTTP-ответами - на PSR-7. Также хорошая статья на Хабре о PSR-7: PSR-7 в примерах.
Прямое обращение к свойствам code, headers, body объявлено устаревшим в Joomla 6.0.0 и обещают удалить в Joomla 7.0.0.
Вместо этого нужно работать с HTTP-ответом по стандартам PSR-7. Код ответа.Было $response->code. Стало $response->getStatusCode().Заголовки ответа.Было $response->headers. Стало $response->getHeaders().Тело ответа.Было $response->body. Стало (string)$response->getContents().В тело ответа теперь приходит не строка, а поток - объект класса Laminas\Diactoros\Stream. Поэтому его нужно привести к строке (если это json, к примеру): (string)$response->getContents(). Чаще всего в коде Joomla встречается именно такой вариант. Однако, есть и вариант с перемещением указателя чтения на начало потока:
// Получили ответ в виде потока$stream = $response->getBody();// "перемотали" на начало$stream->rewind();// Получили строковый ответ$json = $stream->getContents();
В итоге результат одинаковый.@joomlafeed#joomla #разработка #php

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!

Quantum Manager нужен сообществу, а автору нужна ваша поддержка!Файловый менеджер Quantum — одно...

Файловый менеджер Quantum — одно из самых популярных решений для Joomla, созданное разработчиком из сообщества Joomla, Дмитрием Цымбалом (@tsymbalmitia). Он делает Quantum удобным, безопасным и современным, обновляет его, исправляет уязвимости и отвечает пользователям — всё это в свободное от основной работы время.

Теперь настал момент для следующего шага: развитие проекта требует больше времени и ресурсов.

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

Fill

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Проблема в следующем. Попробовал скопировать таблицу jos_cjntent с содержимым на одном сайте (joomla 1.5.9) и установить на другой (тот же движок). Не получилось. Выскакивала сначала ошибка синтаксиса, а потом загрузилось примерно штук 40 анонсов статей и на этом все закончилось. Кто-нибудь может подсказать, как правильно нужно оформить SQL запрос для переноса контента с одного сайта на другой?
*

ShadowXak

  • Завсегдатай
  • 1602
  • 162 / 6
  • no more programming
Экспорт на одном
Импорт на втором
---
если материала много, то лучше разбить файл для импорта по строкам и загружать частями!
*

ShadowXak

  • Завсегдатай
  • 1602
  • 162 / 6
  • no more programming
к примеру вот:
Код
CREATE TABLE `jos_components` (
  `id` int (11) NOT NULL auto_increment,
  `name` varchar (50) NOT NULL default '',
  `link` varchar (255) NOT NULL default '',
  `menuid` int (11) unsigned NOT NULL default '0',
  `parent` int (11) unsigned NOT NULL default '0',
  `admin_menu_link` varchar (255) NOT NULL default '',
  `admin_menu_alt` varchar (255) NOT NULL default '',
  `option` varchar (50) NOT NULL default '',
  `ordering` int (11) NOT NULL default '0',
  `admin_menu_img` varchar (255) NOT NULL default '',
  `iscore` tinyint (4) NOT NULL default '0',
  `params` text NOT NULL,
  `enabled` tinyint (4) NOT NULL default '1',
  PRIMARY KEY  (`id`),
  KEY `parent_option` (`parent`,`option`(32))
) ENGINE=MyISAM AUTO_INCREMENT=42 DEFAULT CHARSET=utf8 AUTO_INCREMENT=42 ;

INSERT INTO `jos_components` VALUES (1, 'Banners', '', 0, 0, '', 'Banner Management', 'com_banners', 0, 'js/ThemeOffice/component.png', 0, 'track_impressions=0\ntrack_clicks=0\ntag_prefix=\n\n', 1);
INSERT INTO `jos_components` VALUES (2, 'Banners', '', 0, 1, 'option=com_banners', 'Active Banners', 'com_banners', 1, 'js/ThemeOffice/edit.png', 0, '', 1);
разбиваем вот так:
Код
CREATE TABLE `jos_components` (
  `id` int (11) NOT NULL auto_increment,
  `name` varchar (50) NOT NULL default '',
  `link` varchar (255) NOT NULL default '',
  `menuid` int (11) unsigned NOT NULL default '0',
  `parent` int (11) unsigned NOT NULL default '0',
  `admin_menu_link` varchar (255) NOT NULL default '',
  `admin_menu_alt` varchar (255) NOT NULL default '',
  `option` varchar (50) NOT NULL default '',
  `ordering` int (11) NOT NULL default '0',
  `admin_menu_img` varchar (255) NOT NULL default '',
  `iscore` tinyint (4) NOT NULL default '0',
  `params` text NOT NULL,
  `enabled` tinyint (4) NOT NULL default '1',
  PRIMARY KEY  (`id`),
  KEY `parent_option` (`parent`,`option`(32))
) ENGINE=MyISAM AUTO_INCREMENT=42 DEFAULT CHARSET=utf8 AUTO_INCREMENT=42 ;

INSERT INTO `jos_components` VALUES (1, 'Banners', '', 0, 0, '', 'Banner Management', 'com_banners', 0, 'js/ThemeOffice/component.png', 0, 'track_impressions=0\ntrack_clicks=0\ntag_prefix=\n\n', 1);
часть 2
Код
INSERT INTO `jos_components` VALUES (2, 'Banners', '', 0, 1, 'option=com_banners', 'Active Banners', 'com_banners', 1, 'js/ThemeOffice/edit.png', 0, '', 1);
*

Fill

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Сейчас попробую. Спасибо за подсказку.
*

Fill

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Загрузить дамп и по частям не получалось. Пишет, что таблица компонента такая уже существует и не дает ставить.. в общем, пришлось удалить таблицу jos_content в сайте реципиенте. После этого импортировалась таблица с сайта донора корректно. Я же хотел, чтоб информация была сохранена.
*

Fill

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
То есть, чтоб просто добавить через phpMyAdmin, скажем, 200 материалов, при этом не нарушая целостности существующей таблицы, что нужно сделать?
*

G@riK

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Чтобы просто добавить, нужно использовать только часть с
Код
INSERT INTO `jos_components` VALUES (2, 'Banners', '', 0, 1, 'option=com_banners', 'Active Banners', 'com_banners', 1, 'js/ThemeOffice/edit.png', 0, '', 1);
, убирая в коде создание таблиц "CREATE TABLE"
*

Fill

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Ошибка

Сделал все, как и описали, но процесс загрузки быстро обрывается и вылезает постоянно ошибка: SQL-запрос:

INSERT INTO `jos_content` (`id`, `title`, `alias`, `title_alias`, `introtext`, `fulltext`, `state`, `sectionid`, `mask`, `catid`, `created`, `created_by`, `created_by_alias`, `modified`, `modified_by`, `checked_out`, `checked_out_time`, `publish_up`, `publish_down`, `images`, `urls`, `attribs`, `version`, `parentid`, `ordering`, `metakey`, `metadesc`, `access`, `hits`, `metadata`) VALUES (300, 'Новый выбор Абрамовича: «Челси» может возглавить Гус Хиддинк', '---lr----', '', '

В минувшую субботу главной футбольной новостью стала отставка Авраама Гранта с поста главного тренера лондонского «Челси». Владелец клуба Роман Абрамович не простил израильскому спец�[...]

Ответ MySQL: Документация
#1062 - Duplicate entry '300' for key 1
*

ShadowXak

  • Завсегдатай
  • 1602
  • 162 / 6
  • no more programming
спец�[...]
что то у вас в бекапе с кодировочкой поэтому мускл не хавает дамп
---
откройте бек и переконвертните его в утф-8 без дум
или приложите файлик бека к топику - посмотрим более дитально!
*

Fill

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
файлик-то большой. Вот выкладываю начало и первый материал: -- phpMyAdmin SQL Dump
-- version 2.11.9.1
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Авг 15 2009 г., 12:53
-- Версия сервера: 5.0.56
-- Версия PHP: 5.2.5

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
--

-- --------------------------------------------------------

--
-- Структура таблицы `jos_content`
--

CREATE TABLE `jos_content` (
  `id` int (11) unsigned NOT NULL auto_increment,
  `title` text NOT NULL,
  `alias` varchar (255) NOT NULL default '',
  `title_alias` text NOT NULL,
  `introtext` mediumtext NOT NULL,
  `fulltext` mediumtext NOT NULL,
  `state` tinyint (3) NOT NULL default '0',
  `sectionid` int (11) unsigned NOT NULL default '0',
  `mask` int (11) unsigned NOT NULL default '0',
  `catid` int (11) unsigned NOT NULL default '0',
  `created` datetime NOT NULL default '0000-00-00 00:00:00',
  `created_by` int (11) unsigned NOT NULL default '0',
  `created_by_alias` text NOT NULL,
  `modified` datetime NOT NULL default '0000-00-00 00:00:00',
  `modified_by` int (11) unsigned NOT NULL default '0',
  `checked_out` int (11) unsigned NOT NULL default '0',
  `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00',
  `publish_up` datetime NOT NULL default '0000-00-00 00:00:00',
  `publish_down` datetime NOT NULL default '0000-00-00 00:00:00',
  `images` text NOT NULL,
  `urls` text NOT NULL,
  `attribs` text NOT NULL,
  `version` int (11) unsigned NOT NULL default '1',
  `parentid` int (11) unsigned NOT NULL default '0',
  `ordering` int (11) NOT NULL default '0',
  `metakey` text NOT NULL,
  `metadesc` text NOT NULL,
  `access` int (11) unsigned NOT NULL default '0',
  `hits` int (11) unsigned NOT NULL default '0',
  `metadata` text NOT NULL,
  PRIMARY KEY  (`id`),
  KEY `idx_section` (`sectionid`),
  KEY `idx_access` (`access`),
  KEY `idx_checkout` (`checked_out`),
  KEY `idx_state` (`state`),
  KEY `idx_catid` (`catid`),
  KEY `idx_createdby` (`created_by`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1145 ;

--
-- Дамп данных таблицы `jos_content`
--

INSERT INTO `jos_content` (`id`, `title`, `alias`, `title_alias`, `introtext`, `fulltext`, `state`, `sectionid`, `mask`, `catid`, `created`, `created_by`, `created_by_alias`, `modified`, `modified_by`, `checked_out`, `checked_out_time`, `publish_up`, `publish_down`, `images`, `urls`, `attribs`, `version`, `parentid`, `ordering`, `metakey`, `metadesc`, `access`, `hits`, `metadata`) VALUES
(1, 'Welcome to Joomla!', 'welcome-to-joomla', '', '<div align="left"><strong>Joomla! is a free open source framework and content publishing system designed for quickly creating highly interactive multi-language Web sites, online communities, media portals, blogs and eCommerce applications. <br /></strong></div><p><strong><br /></strong><img src="images/stories/powered_by.png" border="0" alt="Joomla! Logo" title="Example Caption" hspace="6" vspace="0" width="165" height="68" align="left" />Joomla! provides an easy-to-use graphical user interface that simplifies the management and publishing of large volumes of content including HTML, documents, and rich media.  Joomla! is used by organisations of all sizes for Public Web sites, Intranets, and Extranets and is supported by a community of thousands of users. </p>', 'With a fully documented library of developer resources, Joomla! allows the customisation of every aspect of a Web site including presentation, layout, administration, and the rapid integration with third-party applications.<p>Joomla! has a rich heritage and has been crowned CMS king many times over.  Now with more power under the hood, Joomla! is shifting gear and provides developer power while making the user experience all the more friendly.  For those who always wanted increased extensibility, Joomla! 1.5 can make this happen.</p><p>A new framework, ground-up refactoring, and a highly-active development team brings the excitement of ''the next generation CMS'' to your fingertips.  Whether you are a systems architect or a complete ''noob'' Joomla! can take you to the next level of content delivery. ''More than a CMS'' is something we have been playing with as a catchcry because the new Joomla! API has such incredible power and flexibility, you are free to take whatever direction your creative mind takes you and Joomla! can help you get there so much more easily than ever before.</p><p>Thinking Web publishing? Think Joomla!</p>', -2, 1, 0, 1, '2006-10-12 10:00:00', 62, '', '2007-11-08 12:06:35', 62, 0, '0000-00-00 00:00:00', '2006-01-03 01:00:00', '0000-00-00 00:00:00', '', '', 'show_title=\nlink_titles=\nshow_intro=\nshow_section=\nlink_section=\nshow_category=\nlink_category=\nshow_vote=\nshow_author=\nshow_create_date=\nshow_modify_date=\nshow_pdf_icon=\nshow_print_icon=\nshow_email_icon=\nlanguage=\nkeyref=\nreadmore=', 29, 0, 0, '', '', 0, 94, 'robots=\nauthor='),
*

ShadowXak

  • Завсегдатай
  • 1602
  • 162 / 6
  • no more programming
сохраните в txt и приложите к сообщению или выложите на своем хостинге в zip и кинте ссылку в личку
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Да нет, пишет же что дублирующий айди
#1062 - Duplicate entry '300' for key 1
Измените на число, которое еще не занято. И так для всех материалов.
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

ShadowXak

  • Завсегдатай
  • 1602
  • 162 / 6
  • no more programming
Да нет, пишет же что дублирующий айди
#1062 - Duplicate entry '300' for key 1
Измените на число, которое еще не занято. И так для всех материалов.
видимо попытка записать в таблицу с демоданными ;) я что то не обратил внимание на это ;)
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Если я правильно понял, то ТС надо на работающий сайт с контентом добавить через дамп бд контент с другого сайта. Видимо некоторый id материалов на старом и новом сайте id некоторых, разных материалов совпадают (что не удивительно). Нужно в дампе изменить все id, которые уже заняты другими материалами на новом сайте.
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
там не только id материалов будет совпадать. Не забывайте еще про привязку к категориям и разделам. В общем получится небольшая чехорда.
Можно просто посмотреть id последнего материала в БД куда собрались импортировать. И при импорте поставить auto_increment начинающегося со следующего id. Так же поставить catid и sectionid по умолчанию либо 0. Дальше уже в админке раскидать по нужным разделам и категориям.
« Последнее редактирование: 17.08.2009, 14:27:39 от SmokerMan »
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Ну к разделу и категории можно и в админке после прикрутить, главное что статьи там появятся))
« Последнее редактирование: 17.08.2009, 15:07:21 от Aleks_El_Dia »
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Ну в к разделу и категории можно и в админке после прикрутить, главное что статьи там появятся))
я немного исправил предыдущий пост.
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Ага, так будет проще и логичнее)
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

Fill

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Спасибо всем, сейчас буду пробовать. О результатах сообщу...
*

Fill

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Сделал все как было предложено, но все равно ошибка вылезает:
SQL-запрос:
Структура таблицы `jos_content` -- CREATE TABLE `jos_content` ( `id` int (11) unsigned NOT NULL auto_increment, `title` text NOT NULL, `alias` varchar (255) NOT NULL default '', `title_alias` text NOT NULL, `introtext` mediumtext NOT NULL, `fulltext` mediumtext NOT NULL, `state` tinyint (3) NOT NULL default '0', `sectionid` int (11) unsigned NOT NULL default '0', `mask` int (11) unsigned NOT NULL default '0', `catid` int (11) unsigned NOT NULL default '0', `created` datetime NOT NULL default '0000-00-00 00:00:00', `created_by` int (11) unsigned NOT NULL default '0', `created_by_alias` text NOT NULL, `modified` datetime NOT NULL default '0000-00-00 00:00:00', `modified_by` int (11) unsigned NOT NULL default '0', `checked_out` int (11) unsigned NOT NULL default '0', `checked_out_time` datetime NOT NULL default '0000-00-00 00:00[...]

Ответ MySQL: Документация
#1061 - Duplicate key name '0'
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Цитировать
Сделал все как было предложено, но все равно ошибка вылезает:
Интересно что именно подрозумевается под "все"?
что-то в вашем запросе начального значения для auto_increment не видно?  ^-^
*

Fill

  • Осваиваюсь на форуме
  • 39
  • 0 / 0
Как и было написано, я в дампе catid и sectionid поставил 0, а в auto_increment вставил значение id следующее за тем, что есть в таблице реципиенте. Или я что-то не так понял...
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Да, импорт - экспорт в phpMyAdmin
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

ValeryB

  • Захожу иногда
  • 384
  • 31 / 2
А Sypex Dumper не пробовали?
*

VasiliO

  • Захожу иногда
  • 69
  • 0 / 0
ну ичего Sypex Dumper чем поможет??
пробовал поменять готовые таблицы или как бы дописать
Table 'jos_components' already exists (256)
блин как меня задрал этот JCE просто кривые руки думал в начале сейчас базы переношу не ставится и всё что за уродство
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Чем лучше всего делать резервные копии сайта?

Автор 7Azimuth

Ответов: 115
Просмотров: 58952
Последний ответ 29.11.2023, 14:41:12
от sivers
Joomla 1.5 как убрать кнопку редактировать материант с сайта

Автор andriy465

Ответов: 5
Просмотров: 4012
Последний ответ 12.11.2023, 23:37:03
от all_zer
Не могу распаковать jpa архив сайта Akeeba backup. ajax error

Автор smadkz

Ответов: 4
Просмотров: 1906
Последний ответ 26.12.2020, 15:15:15
от stendapuss
Версия сайта для слабовидящих

Автор nikos

Ответов: 22
Просмотров: 44405
Последний ответ 27.11.2020, 11:04:18
от chernobyl
Поиск статьи по url сайта в админке Joomla 1.5

Автор Tema

Ответов: 5
Просмотров: 2192
Последний ответ 14.08.2020, 07:16:44
от rsn