Přidání nového textového pole

Přidání nového textového pole

autor Ladislav Kudláček -
Počet odpovědí: 0

Ahoj,

našel by se zde někdo, kdo by poradil, jak přidat nové textové pole např do formuláře "Přidat kurz"?

 

Udělal jsem následující:

Soubor: /moodle/course/edit_form.php

        $mform->addElement('text', 'price', get_string('pricecourse'), 'maxlength="10" size="5"');
        $mform->addHelpButton('price', 'pricecourse');
//      $mform->addRule('price', get_string('missingprice'), 'required', null, 'client');
        $mform->setType('price', PARAM_INT);
        if (!empty($course->id) and !has_capability('moodle/course:changeprice', $coursecontext)) {
            $mform->hardFreeze('price');
            $mform->setConstant('price', $course->price);
        }

 

(takže přidávám pole "price"). Přidal jsem nový sloupec do databáze v tabulce mdl_user. Pokud ručně vložím do databáze jakoukoliv hodnotu a dám EDITOVAT kurz, tak se tato hodnota korektně zobrazí...čili nějak to komunikuje. Říkal jsem si super, není ani potřeba upravovat php kód pro vložení dat do databáze, když to korektně z tabulky načetlo...

ale... pak jsem tedy zkusil hodnotu vložit né přímo v databázi, ale už rovnou přes formulář. A to mi nejde..zadám nějakou hodnotu do pole "price", dám "Vytvořit kurz", ale tato hodnota se v databázi nepromítne. Čili ještě někde něco se bude muset upravit.

 

Každopádně když jsem dal update kurzu, tak při updatu mám toto textové pole pouze v režimu "readonly". Při založení kurzu nového tam můžu psát, ale u updatu psát nelze...našel jsem tedy:

 

Soubor: /moodle/course/externallib.php

a přidal cca na řádek 725, kde jsou všechny podmínky:

                // Check if the user can change price.
                if (array_key_exists('price', $course) && ($oldcourse->price != $course['price'])) {
                    require_capability('moodle/course:changeprice', $context);
                }

ale toto ještě nepomohlo...stále je pole při updatu v režimu readonly. Ale jsem tomu na stopě...nicméně ten INSERT mi stále nefunguje. Nevím, kde bych ještě měl co přidat..poradil by někdo?

 

SHRNUTÍ:

 

a) kde můžu ještě co poeditovat, aby se mi korektně vložil do tabulky záznam z nově vytvořeného textového pole?

b) kde bych měl ještě dát na vědomí, aby se při updatu zobrazilo nové textové pole editovatelné?

c) kde se mění popisky těchto polí? Někde musím nastavit, jak se vlastně pole bude jmenovat, teď tam mám tohle:

 

Celý název     help-icona ....textové pole

Krátký název  help-icona ... textové pole

[pricecourse] help-icona ...textové pole
 
A mně jde o ten popisek [pricecourse]
 
Projel jsem GREP-em celý moodle včetně databáze, ale nikde se mi nepodařilo najít českou lokalizaci, kde bych si to mohl nastavit..aktuálně tam jsou pole "Celý název" nebo "Kategorie kurzu", ale tyto stringy jsem grepem prostě nevyhledal...snad to není v binárním kódu...?
 
za případné rady moc díky,
L

 

 

Počet hodnocení: -