Ernest bardzi Ci dziękuję. Teraz zaczęło działać.

W dniu 9 listopada 2015 11:09 użytkownik Ernest <ernest@poczta.tarman.pl> napisał:
Witam.

@Marcin
Już sobie poradziłem ;)
w najprostszy możliwy sposób.
Zastapilem oryginalny blok 3 wersjami nowego na if,elseif,else (ma to obecnie niestety ten minus, ze jezeli zmieni sie oryginalny szablon /na ktory mam maly wplyw/ to zmiany nie beda uwzgledniane) chyba jeszcze się pobawię z {capture};)
...
>....tu trzeba pomyśleć, co konkretnie robisz i jaki chcesz mieć efekt? bo cały czas piszesz o .html, ale nie wiemy z jakiego poziomu to wywołujesz.

Na tym etapie nie "dotykam" w żadnym miejscu modułów, po prostu chcę zmienić sposób prezentacji danych co powinno dać się zrobić samymi szablonami.
SMARTY jak każdy system szablonów ma swoje "plusy dodatnie i plusy ujemne" ;) po prostu pewne rzeczy robi się intuicyjnie a nad pewnymi trzeba się "pokiwać".


@loleo2
>Włączyłem, klikając na żarówkę z poziomu wtyczek. 
>A czy zawartość pliku którą przedstawiłem jest ok? Bo ja nie bardzo rozumiem dlaczego extends robimy >pliku layout.html a nie welcome.html,
Jak najbardziej możesz extends robić dla pliku welcome.html
Możesz nawet wybrać, który blok z oryginalnego pliku chcesz modyfikować(zastąpić, dopisać przed, dopisać po).

>po za tym jakie ma znaczenie nazwa pliku w templates oraz jesgo >umiejscowienie w strukturze katalogów, tzn. przykładowo welcome.html normlanie jest w >templates/default/welcome/ a tutaj włożony jest do /templates/welcome.
Co do umiejscowienia nowego pliku to w zasadzie nie jest (chyba) ważne byle był w katalogu templates w pluginie.

>Nie wiem np. czy może nie trzeba kasować zakeszowanego pliku w templates_c żeby to się odświerzyło?
>Jeśli zadaję pytania na kóre gdzieś jest już podpowedź to proszę o jakiegoś linka, bo ja jakoś nie trafiłem
Nie jest to konieczne.
Za to konieczne jest dopisanie do pluginu funkcji dodającej katalog templates z pluginu do ścieżki wyszukiwania szablonów czego w przykładowym nie ma:
Kod made by Jarosław Dziubek ;)

fragment pliku "ExamplePlugin.php":
class PluginExample extends LMSPlugin {
//(...)
    public function registerHandlers()
    {
        $this->handlers = array(
            'smarty_initialized' => array(
                'class' => 'WelcomeHandler',
                'method' => 'smartyInit'
            ),
//(...)

fragment pliku "handlers/WelcomeHandler.php":
class PluginExample
{
        /**
         * Sets plugin Smarty templates directory
         *
         * @param Smarty $hook_data Hook data
         * @return \Smarty Hook data
         */
        public function smartyInit(Smarty $hook_data)
        {
                $template_dirs = $hook_data->getTemplateDir();
                $plugin_templates = PLUGINS_DIR . '/ExamplePlugin/templates';
                array_unshift($template_dirs, $plugin_templates);
                $hook_data->setTemplateDir($template_dirs);
                return $hook_data;
        }
//(......)

Oczywiście przejrzyściej byłoby wrzucić toto do osobnej klasy "inicjalizacja_pluginu_xxx"


plik "templates/welcome/welcome.html ":
{extends file="welcome/welcome.html"}
{block name=welcome-right-panel}
testowa modyfikacja
{/block}

Pozdrawiam
/ernesttar/

W dniu 11/09/2015 o 10:13 AM, Ernest pisze:
Witaj Marcinie.(skoro nie lubisz wykrzykników to kropka  ;) )

Ja się nie upieram żeby zrobić to w smarty.
Jest zdefiniowany szablon z blokiem i teraz w zależności od zawartości phpui potrzebuję wyświetlić albo oryginalny blok, albo nowy, albo obydwa.
Jeśli jest sposób żeby zrobić to z poziomu plugina to proszę o podpowiedz.

Po weekendowej przerwie przychodzi mi jeszcze do głowy pomysł (oparty jednak na smarty) z funkcją {capture} (gdzies na listach coś takiego wyszukałem)

Pozdrawiam
/ernesttar/
W dniu 11/06/2015 o 05:15 PM, Marcin pisze:

Możesz też przygotować dwa pliki html i w zależności od warunku w php wyświetlać odpowiedni plik.

6 lis 2015 16:05 "Ernest" <ernest@poczta.tarman.pl> napisał(a):

W dniu 11/06/2015 o 03:51 PM, Marcin pisze:


W dniu 6 listopada 2015 15:37 użytkownik Ernest <ernest@poczta.tarman.pl> napisał:
W dniu 11/06/2015 o 02:45 PM, Marcin pisze:


W dniu 6 listopada 2015 14:37 użytkownik Ernest <ernest@poczta.tarman.pl> napisał:

W dniu 11/06/2015 o 02:07 PM, Marcin pisze:
>Dodałem kilka regionów z blokami puściłem pull requesta, jak Tomek zaakceptuje to może starczy.

Nie chodzi tu o to, żeby ktoś specjalnie siedział nad szablonami i je poprawiał.

Aczkolwiek racja. netdevinfo był bezblokowy, więc co za problem na przyszłość ułatwić innym życie?
 
Teraz mam już gotowe, tylko że zrobione zgodnie ze wzorem na samym dole.
Sam mogę zrobić pull request ;)

To czemu nie robisz?
Poszły 2 szt. reszta jak skończę przepisywać wtyczkę ;)

Mam jeszcze pytanko.
Chciałbym uzależnić sposób wyświetlania danego bloku od zawartości config.phpui
w takim sensie, że np.
jeżeli phpui.xxx == 1 to zamieniam blok
jeżeli phpui.xxx == 2 to dopisujemy dodatkowa treść do oryginału przez block append

Jak to rozwiązać ??
kombinowałem z :
    {if warunekdospelnienia}
        {block name=xxx}
            zawartosc nowego blooku
        {/block}
    {else}
        {block name=xxx append}
              zawartosc nowego bloku
        {/block}
    {/if}     


a nie lepiej ten warunek rozwiązać w php i przekazać wynik do smarty?
A w jaki sposób ten warunek rozwiązać w pluginie gdzie wynik ma skutkować tylko i wyłącznie zmianą wyświetlania danego bloku ?
Tak naprawdę to chodzi o magiczną opcję "append" dodawaną do interesującego mnie bloku.
Składnia w przykładzie (z tym, że append był w spełnionym warunku czyli u góry) dawała w wyniku 2x zawartość nowego bloku niezależnie od tego czy if był spełniony czy nie.
Może sposobem na takie cuś byłaby sekcja ({section}) ?

_______________________________________________
lms mailing list
lms@lists.lms.org.pl
http://lists.lms.org.pl/mailman/listinfo/lms



_______________________________________________
lms mailing list
lms@lists.lms.org.pl
http://lists.lms.org.pl/mailman/listinfo/lms

-- 
Pozdrawiam
Michał Szmigielski
/ernesttar/


_______________________________________________
lms mailing list
lms@lists.lms.org.pl
http://lists.lms.org.pl/mailman/listinfo/lms

-- 
Pozdrawiam
Michał Szmigielski
/ernesttar/

_______________________________________________
lms mailing list
lms@lists.lms.org.pl
http://lists.lms.org.pl/mailman/listinfo/lms