Nano Hash - криптовалюты, майнинг, программирование

Joomla - Где находится код в K2, который сохраняет заголовок и псевдоним нового элемента

Я искал везде в папке администратор\компоненты\com_k2, но не могу найти код, который сохраняет новый элемент\статью в K2. Я проверил файл item.php в папке моделей. Неудачно.

Мне нужно переопределить метод сохранения элемента K2.

Мне нужно знать точный метод, который сохраняет заголовок и псевдоним элемента в таблицу #__K2_content.

Я должен дублировать элементы K2 в статьях joomla при сохранении и удалении в корзине/удалении.

Мне удалось успешно переопределить основной код K2. Но я не могу найти правильный код для переопределения. (метод переопределения здесь)


  • Я просмотрел код, похоже, что K2 использует методы Joomla: см. administrator/components/com_k2/controllers/item.php — строка 24: function save(). Все расширено из классов Joomla. 21.02.2013
  • О, спасибо, проверю, когда вернусь с работы. В первую очередь я сосредоточился на item.php в папке моделей. 21.02.2013

Ответы:


1

Таблица, в которой хранятся элементы K2 (по крайней мере, в последней версии K2 — 2.6.5), — это #__k2_items, а не #__k2_content.

Я просмотрел код, похоже, что K2 использует методы Joomla: см. administrator/components/com_k2/controllers/item.php — строка 24: функция save(). Все расширено из классов Joomla.

class K2ControllerItem extends K2Controller
{

    public function display($cachable = false, $urlparams = array())
    {
        JRequest::setVar('view', 'item');
        parent::display();
    }

    function save()
    {
        JRequest::checkToken() or jexit('Invalid Token');
        $model = $this->getModel('item');
        $model->save();
    }
    .....
}

Контроллер K2: /administrator/components/com_k2/controllers/controller.php

...
else if (version_compare(JVERSION, '2.5', 'ge'))
{
    class K2Controller extends JController
    {
        public function display($cachable = false, $urlparams = false)
        {
            parent::display($cachable, $urlparams);
        }

    }

}
...
21.02.2013

2

@ Shaz, ты дал мне правильное направление для изучения.

в com_k2\controllers\item.php это $model->save();сохраняет данные.

Функция save() находится в файле com_k2\models\item.php, где есть две строки, фиксирующие данные.

$row = JTable::getInstance('K2Item', 'Table');

это инициирует $row, а

if (!$row->bind(JRequest::get('post')))

это заполняет $row.

Итак, теперь $row содержит все значения переменных.

Теперь этот if (!$row->store()) сохраняет данные.

Я буду использовать $row, чтобы сохранить то же самое для Joomla! статьи в com_content.

Приятно :)

21.02.2013
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..