Доброй ночи, Гость! Представляем Вам наши форумы. Вы можете зарегистрироваться чтобы писать на форумах или зайдите под своим именем, если Вы уже регистрировались.
   
   


Показать сообщения от „SX“ (3016)
Сообщение Форум Дата
Итак как сделать собственное запускаемое по расписанию задание. Разбираем задачу ТС, главное принцип понять, все просто:)

Итак идем в админку и создаем новое задание. Все поля заполняем по логике, поле модуль - выбираем функция.
Вписываем в поле функция SyncImport::update, в поле параметры функции - вписываем имя таблицы (этот параметр будет в переменной $table, метода update)
Далее создаем новый класс
PHP-код
<?php
if (!defined('STATUS_DIR')) exit('Доступ запрещен');

class 
SyncImport {

    public static function 
update($table) {
        
$allow = array('table1''table2''table3'); // Проверять разрешенные таблицы
    
        
if (!empty($table) && in_array($table$allow)) {
            
$sql DB::getDB()->Query("SELECT * FROM " PREFIX "_shop_produkte");
            while (
$row $sql->Result_Fetch_Object()) {
                
DB::getDB()->Query("UPDATE " PREFIX "_" $table " SET  
                    Artikelnummer = '" 
s($row->Artikelnummer) . "', 
                    Titel_1 = '" 
s($row->Titel_1) . "', 
                    Titel_2 = '" 
s($row->Titel_2) . "', 
                    Erstellt = '" 
s($row->Erstellt) . "', 
                    Bild = '" 
s($row->Bild) . "', 
                    Bilder = '" 
s($row->Bilder) . "', 
                    EAN_Nr = '" 
s($row->EAN_Nr) . "', 
                    ISBN_Nr = '" 
s($row->ISBN_Nr) . "',             
                    Beschreibung_1 = '" 
s($row->Beschreibung_1) . "', 
                    Beschreibung_2 = '" 
s($row->Beschreibung_2) . "', 
                    Beschreibung_lang_1 = '" 
s($row->Beschreibung_lang_1) . "', 
                    Beschreibung_lang_2 = '" 
s($row->Beschreibung_lang_2) . "', 
                    Aktiv = '" 
s($row->Aktiv) . "', 
                    Preis_Liste_Ab = '" 
s($row->Preis_Liste_Ab) . "', 
                    Preis_Liste_Gueltig = '" 
s($row->Preis_Liste_Gueltig) . "', 
                    Preis_Liste = '" 
s($row->Preis_Liste) . "', 
                    Preis = '" 
s($row->Preis) . "', 
                    Preis_EK = '" 
s($row->Preis_EK) . "', 
                    Hersteller = '" 
s($row->Hersteller) . "', 
                    Kategorie = '" 
s($row->Kategorie) . "', 
                    Kategorie_Multi = '" 
s($row->Kategorie_Multi) . "', 
                    Gewicht = '" 
s($row->Gewicht) . "', 
                    Gewicht_Ohne = '" 
s($row->Gewicht_Ohne) . "', 
                    Schlagwoerter = '" 
s($row->Schlagwoerter) . "', 
                    Lagerbestand = '" 
s($row->Lagerbestand) . "', 
                    MaxBestellung = '" 
s($row->MaxBestellung) . "', 
                    Startseite = '" 
s($row->Startseite) . "',             
                    Position = '" 
s($row->Position) . "', 
                    Spez_1 = '', 
                    Spez_2 = '', 
                    Spez_3 = '', 
                    Spez_4 = '', 
                    Spez_5 = '', 
                    Spez_6 = '', 
                    Spez_7 = '', 
                    Spez_8 = '', 
                    Spez_9 = '', 
                    Spez_10 = '', 
                    Spez_11 = '', 
                    Spez_12 = '', 
                    Spez_13 = '', 
                    Spez_14 = '', 
                    Spez_15 = '', 
                    Spez_2_2 = '', 
                    Spez_3_2 = '', 
                    Spez_4_2 = '', 
                    Spez_5_2 = '', 
                    Spez_6_2 = '', 
                    Spez_7_2 = '', 
                    Spez_8_2 = '', 
                    Spez_9_2 = '', 
                    Spez_10_2 = '', 
                    Spez_11_2 = '', 
                    Spez_12_2 = '', 
                    Spez_13_2 = '', 
                    Spez_14_2 = '', 
                    Spez_15_2 = '' 
                    WHERE Id = '" 
$row->Id "'");
            }
            
$sql->Result_Close();
        }
    }
}
?>


И кидаем в папку класс с именем class.SyncImport.php и все класс будет запускаться по расписанию и будет выполнять метод update.

Можно собрать в один класс все нужные задания и различать их только названиями методов в поле вызова функции SyncImport::update2, SyncImport::update3 и тд.

Не забываем что это статическая функция в классе и следовательно нельзя применять $this->,
Что бы это обойти используем такой фокус

PHP-код
    static public function update() {
        new 
self;
    }

    private function 
__construct() {
        
// а здесь уже можно использовать $this->
    
}
Основная тема 27.06.2013, 21:26
Сообщение Форум Дата
Для добавления своих заданий, можно и не трогать класс крон, вроде писал об этом на форуме, но не помню где. Ща разберем, тока найду заготовку Основная тема 27.06.2013, 20:54
Сообщение Форум Дата
В подпись смотрите мою

А для советов нет информации, да и версия у вас скорее всего не последняя, да и по лицензии вам никто ничего не обязан...
Предлагаю работу 26.06.2013, 11:52
Сообщение Форум Дата
Обновилась база защиты файлов, обновляется онлайн в админке в разделе настроек в модуле защиты файлов Основная тема 24.06.2013, 17:55
Сообщение Форум Дата
Цитата
Автор: Yulo
У меня присутствует такая же проблема.
Вот эта ошибка висит.
Fatal error: Class 'DB_Result' not found in /home/gigtegru/public_html/pofeoz.ru/class/class.DB.php on line 204
В админку захожу но после 20 попытки. В прошлых версиях движка такой ошибки не было.


Это есть в какой то версии php, интерпретатор не может читать по несколько классов из одного файла, увы пионеры врядли исправят, а у меня первой версии нет даже установленной локально
Техническая помощь 17.06.2013, 20:43
Сообщение Форум Дата
Увы, скорее что то не соответствует требованиям, но что имено, не угадать, тут нужно смотреть ваш сервер Техническая помощь 16.06.2013, 22:02
Сообщение Форум Дата
Дописать функционал Техническая помощь 04.06.2013, 13:20
Сообщение Форум Дата
По поводу последнего пункта не помню, все остальные это исключение, на форуме писалось.
Ищите дальше, я у вас ничего не нашел на сайте, в коде чисто
Техническая помощь 01.06.2013, 20:12
Сообщение Форум Дата
От индексации закрывается обычно через файл robots.txt, спомощью маски.
Никакой истории ссылок в системе нет, история у поисковиков, ждите и через какое то время старые ссылки удалятся
Техническая помощь 31.05.2013, 23:22
Сообщение Форум Дата
Система сама объединяет css файлы при выбранной опции в панели управления Техническая помощь 31.05.2013, 23:19
Сообщение Форум Дата
http://www.status-x.ru/postprint/8095/1203/zakroite-kalendar-ot-indeksirovaniyya-po-stranitsam-pechati/ Техническая помощь 28.05.2013, 21:56
Сообщение Форум Дата
Закройте календарь от индексированиыя.
По страницам печати работает rel="canonical", так что либо у вас не последняя версия, либо яндекс дурак
Техническая помощь 28.05.2013, 21:54
Сообщение Форум Дата
Увы этих тонкостей я уже не помню... Основная тема 22.05.2013, 12:17
Сообщение Форум Дата
Поиском пользуйся, про это все писалось уже Баги и ошибки 21.05.2013, 23:14
Сообщение Форум Дата
В поиск, на эти вопросы я уже отвечал Техническая помощь 19.05.2013, 21:03


 


 Сейчас на сайте

Пользователей: 0, Гостей: 3

Поисковые боты: 184
Bot(155), Crawler(8), oBot(11), BingBot(6), Googlebot(2), Yandex, Google
 Статистика форума

  Темы Сообщения Пользователи
За сутки:
За неделю:
За месяц:
Всего:
Мы приветствуем нового участника: wonad81290
 Дни рождения

zigzag (67), Мiша Бачкур (32), Misha (32), JIevi (31), fanvast (29)
Copyright © 2009 - 2024 SX All rights reserved | Powered by SX CMS 1.06 UTF | Контакты