Wysłane przez
Ambroz
Jak zrobić override by nie męczyć się z ustawianiem tego po każdej aktualizacji, oraz by defaultowo artykuł był publiczny i featured?
Pierwsza sprawa: article.xml jest plikiem systemowym i go nie powinno się ruszać. Można w nim zrobić zmiany ale nie można użyć wobec niego nadpisywania szablonem. Nie tędy droga
Masz taki plik:
ROOT/components/com_content/views/form/tmpl/edit.php
I to jest plik którego można użyć do nadpisywania szablonem czyli kopiować go do:
ROOT/templates/<twoja-nazwa-szablonu>/html/com_content/form (jeśli nie masz tych katalogów - utwórz je).
No i teraz można grzebać w tym pliku. Kiedy go otworzysz, zorientujesz się, że są tam wszystkie pola ale wywoływane przez:
Kod PHP:
<?php echo $this->form->renderField('featured'); ?>
Zatem wystarczy zastąpić ten kod kodem html:
Kod HTML:
<div class="control-group">
<div class="control-label"><label id="jform_featured-lbl" for="jform_featured" class="hasPopover" title="" data-content="Przypisz artykuł do przeglądu wyróżnionych" data-original-title="Wyróżniony">
Wyróżniony</label>
</div>
<div class="controls"><select id="jform_featured" name="jform[featured]" class="inputbox" style="display: none;">
<option value="0">Nie</option>
<option value="1" selected="selected">Tak</option>
</select>
</div>
</div>
Skąd ten kod wziąłem?
Po prostu skopiowałem ze struktury z widoku strony:
http://prntscr.com/oh7tmw
Trochę podczyściłem i wkleiłem do tego pliku w odpowiednie miejsce:
http://prntscr.com/oh7u2s
Wysłane przez
Ambroz
Ewentualnie ustawienie dla polskiej grupy defaultowego języka polskiego, a dla angielskiej angielskiego.
W taki sam sposób jak wyżej z tym, że trzeba sprawdzić jaki język został użyty w danej sesji:
Kod PHP:
$lang = JFactory::getLanguage();
$result = $lang->getTag();
if ($result=="pl-PL") {
$kod = 'hl=pl';
} elseif ($result=="en-GB") {
$kod = 'hl=en-GB';
}
I potem warunek:
Kod PHP:
<?php
$result = $lang->getTag();
if ($result=="pl-PL") { ?>
kod z zaznaczonym domyślnie polskim
<?php } elseif ($result=="en-GB") { ?>
kod z domyślnie zaznaczonym angielskim
<?php } ?>