PDA

Zobacz pełną wersję : Dynamiczna zmiana treści strony



_chris-
25-07-2011, 14:11
Witam wszystkich

Dopiero raczkuje w pisaniu komponentów i modułów do Joomla! ale chciałem was zapytać jak dostać się do tego co wyświetlane jest na stronie? Dokładnie chodzi mi o coś takiego:
mam moduł, który jak włączę, to np. dodaje w każdym artykule na początku jakąś treść.

Jak dostać się do tego co jest wyświetlane to pierwsze pytanie. A drugie to aby to osiągnąć napisać moduł czy komponent?

Z góry dzięki za info.

PeFik
25-07-2011, 14:15
Mógłbyś podać przykład , bo nie czaje twojego układu słonecznego.

+ Pod jaką Joomla! 1.5 czy 1.7 ?

_chris-
25-07-2011, 14:21
Joomla 1.5

Przykład konkretny:
Włączam ten moduł i on dodaje np. do każdego artykułu który ogląda użytkownik zdanie np. To jest mój artykuł. Nieważne już co i gdzie dodaje bo to sobie zdefiniuje itd, ale jak się za to zabrać żeby on to dodawał. A potem np. wyłączam ten moduł w panelu i artykuły są wyświetlane bez tego zdania. Od razu zapytam, oprócz dodawania chciałbym mieć możliwość podmiany pewnych części artykułu. Ale nie wiem jak się tam do tego dynamicznie dostać.

Robster
25-07-2011, 14:38
Tutaj masz o wtyczkach (http://robertmatuszewski.pl/blog/joomla/pisanie-wtyczek-joomla-%E2%80%93-wprowadzenie/) do Joomla! W tym i późniejszym kursie jest opisane jak dodawać treści, przed i po artykule. Jak podmienić daną część już sam się domyślisz.

_chris-
25-07-2011, 14:47
O coś takiego mi chodziło. Dzięki, dzisiaj bądź jutro pogrzebie trochę przy tym i jak coś, to pozwolę sobie zapytać jeszcze:)

palyga007
25-07-2011, 15:00
@Robster
Chyba stanę się stałym bywalcem Twojej strony :)

Robster
25-07-2011, 15:10
@palyga007 byłoby mi bardzo miło. Uwagi od osób obytych w temacie, to coś czego mi brakuje :)

_chris-
26-07-2011, 14:27
No i niby już kumam co i jak, potrafię zmienić sobie treść artykułów, ale mam jeszcze do was pytanie. Nie mogę poradzić sobie z parametrami. Mianowicie mam tak:
<params>
<param name="slowo" type="text" label="Podmieniane słowo" description="Wpisz słowo jakie chcesz podmieniać">
</param>
</params>

To jest widoczne i zapamiętywane w panelu admina. Ale nie wiem jak się do tego dostać spod pluginu;/ Próbowałem tak:

$zmienna = $this->params->get('slowo');

ale mam błą Fatal error: Call to a member function get() on a non-object

Prosiłbym o pomoc, a od razu chciałem zapytać czy da się w panelu admina zrobić coś takiego, żebym mógł dynamicznie zmieniać ilość parametrów. Np. chciałbym aby użytkownik miał możliwość dodawania par słów do podmiany np.
Słowo do podmiany: http Słowo na podmianę: https:
i żeby mógł nieograniczoną ilość ich wprowadzać, dodawać, odejmować itd.

Mam nadzieje że w miarę jasno napisałem:)

palyga007
26-07-2011, 14:59
a chociażby tutaj
http://docs.joomla.org/Creating_a_content_plugin

sobie zerknąłeś?

_chris-
26-07-2011, 15:37
tak zerkałem, szukałem też w dokumentacji klas. nie rozumiem tego
$style = $this->params->def( 'style', -2 ); $this->_process( $row, $matches, $count, $regex, $style );

czemu def jak powinno być get a i tak jak robie analogicznie jak w tym przykładzie to nie działa błędy wywala

palyga007
26-07-2011, 16:07
def jest jakby odwrotnością get

get pobiera a def definiuje czyli ustala wartość.



def( 'name', 'default' )

This method combines both get and set. It will check to see if the parameter of 'name' exists. If it does it returns it. If it doesn't it sets it to 'default' and returns that value.

_chris-
27-07-2011, 08:58
Nie wiem czemu tak się działo, ale wiem co było nie tak. Otóż wywalało mi błąd że odwołuję się do metody get na non-object. Chodziło o to że jako this myślałem że będę miał ten mój plugin, a jednak nie miałem. Dopiero taki kod sprawił że pobrałem parametr i wszystko gra:

$plugin =& JPluginHelper::getPlugin('content', 'plgPodmiana');
$pluginParams = new JParameter( $plugin->params );

$slowo = $pluginParams->get('slowo','');

Tak jak wspominałem nie wiem czemu muszę wywoływać metodę getPlugin jeśli jestem wewnątrz pluginu, ale jeśli tak ma być, to niech będzie:)