witam,
jak zrobic poprawnie i ze standardami cos takiego, ze np jak w jobeecie mam w pliku layout.php wyswietlane pobieranie z bazy przez przez zmienna $sf_contect, a to znowu sie ustawia w pliku indexSuccess.php. a teraz chce dodac sobie menu po prawej i zeby mi tam wyswietalo tylko same nazwy firm. wiem, ze mozna wszystko napisac w tym pliku layout.php, ale tak sie raczej nie robi...
pozdrawiam!
Odpowiedzią są sloty.
W layoucie:
<?php if (!include_slot('sidebar')) : ?> Domyslna treść sidebara <?php endif ?>
<?php slot('sidebar') ?> Nowa treść sidebara. <?php end_slot() ?>
dzieki, sprobowalem jeszcze rozwiazania jak w jobeecie, stosujac include_partial ale mam problem...
robie tak jak w jobeecie (tam przerobilem i mi dzialalo dobrze)
tam jest taki przyklad
//_list.php <table class="jobs"> <?php foreach ($jobs as $i => $job): ?> <tr class="<?php http://www.php.net/echo http://www.php.net/fmod($i, 2) ? 'even' : 'odd' ?>"> <td class="location"> <?php http://www.php.net/echo $job->getLocation() ?> </td> <td class="position"> <?php http://www.php.net/echo link_to($job->getPosition(), 'job_show_user', $job) ?> </td> <td class="company"> <?php http://www.php.net/echo $job->getCompany() ?> </td> </tr> <?php endforeach; ?> </table>
<?php include_partial('job/list', http://www.php.net/array('jobs' => $jobs)) ?>
probowalem roznymi sposobami i doszedlem do tego, ze w ogole w pliku layout.php nie lapie mi zmiennej....
w pliku showSuccess.php jest cos takiego:
<?php http://www.php.net/echo $test_news ->getId() ?>
<?php foreach ($test_newss as $i => $test_news): ?> <?php http://www.php.net/echo $test_news ->getId() ?> <?php endforeach; ?>
Spróbuj components zamiast partials
http://www.symfony-project.org/jobeet/1_4/Doctrine/en/19#chapter_19_language_switching
siedze nad tym od kilku godzin i nic...
mam taki blad jak tutaj http://oldforum.symfony-project.org/index.php/t/5922/ i nic nie pomaga...
zrobilem plik
component.class.php
<?php class blogComponents extends sfComponents { public function executeMenu(sfWebRequest $request) { } }
<?php $blog->getTitle() ?>
Plik z komponentami to components.class.php
ehh na ktorejs stronie byl blad i zle kopiowalem pol dnia stracone na takiej glupocie. w dodatku przed chwila sprobowalem zrobic tak jak proponowales za pierwszym razem na slotach i dziala pieknie.
wielkie dzieki za pomoc
dzieki wielkie za pomoc, ale mam jeszcze jedno pytanie... jak najprosciej w takim komponencie odwolywac sie do dwoch tabel?
mam to zrobione tak, ze mam tabele CATEGORY i tabele BLOG. zrobilem ten komponent w module BLOG i dziala ok, ale chce wydobyc nazwe kategorii i zaczynaja sie schody. jak sie do niej odwolac? mam oczywiscie w tabeli BLOG category_id, no i moglbym w locie zamieniac na nazwy przez PHP, ale wolalbym sie dowiedziec jak sie odwolywac, bo potem sie to moze mi przydac.
pozdrawiam!
O nic prostrzego chyba nie mogles juz zapytac:
http://www.php.net/echo $Object->getAliasJakiMaszWSchemaDoKategorii(); // najprawdopodobniej echo $Object->getCategory();
hmm no rzeczywiscie to banalne, ale na jakiej to zasadzie dziala? w foreignAlias: mam wpisane Categories. Obiekty nazywaja sie Category i Blog.
teraz wystarczylo, ze zrobilem $blog->getCategory() i pobralo mi nazwe kategorii, a nie uzylem tego aliasu.
A jak w tabeli Category mam jeszcze pole opis? to jak sie do tego dostac? bo domyslnie mi bierze Name. Da sie tak w jednym pliku? musialbym chyba osobny komponent robic i tam zrobic akcje pobierania danych z kategorii?
-----
to jednak tez nie dziala do konca tak jak chcialem.
chce zrobic cos takiego, ze wylistuje mi kazda kategorie a dla niej kazdego newsa, czyli cos takiego:
Kategoria1:
--- news1
--- news2
Kategoria2:
--- news21
---news22
albo po prostu jak najprosciej zrobic w jednym komponencie cos takiego:
<?php foreach ($categories as $category): ?>
<?php echo $category->getCategory() ?>
<?php endforeach; ?>
<?php foreach ($newss as $i => $news): ?>
<?php echo $news->getTitle() ?>
<?php endforeach; ?>
czyli co dodac w akcjach? nie da sie chyba zrobic w jednej akcji odwolan do dwoch roznych tabel....
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)