Основните въпроси са с удебелен шрифт в долната част, но ще ви разкажа какво и защо питам.
По принцип вземам това, което сега правя за потребителите един по един, и се опитвам да им дам възможност да показват всичко на една страница. Използвах PHP за поставяне на данни в html, но се интересувах да подобря кода си и се чудех дали handlebars.js с javascript ще има повече смисъл, дори само за моя здрав разум.
Да кажем, че потребител има списък с квадратчета за отметка до всеки
[x] Option 1
[ ] Option 2
[ ] Option 3
...
[x] Option 20
За всяко отметнато поле се показва блок от html с информация от базата данни.
В момента показвам само един блок html на страница. PHP беше на същата страница, грабвайки данните и преминавайки през 2-та масива, генерирани от две заявки, с вграден php вътре в html, за да генерира текущите блокове от html.
....
<div class="option-wrapper">
<?php foreach ( $option_list as $option ) : ?>
....
С необходимостта да можете да генерирате същия блок код между 1 и 20 пъти на една и съща страница. Предполагам, че все още мога да използвам вграден php и да превъртя целия блок от html, за да създам друг блок от html за всяка избрана опция.
| Option 1 | | Option 20 |
| Title: Test1 | | Title: Test2 |
Но се чудех дали има предимство от използването на машина за шаблони на javascript за тази цел. Имам javascript, написан за диаграмни данни, в момента имам скрити html елементи, които съхраняват php променливите (15 от тях от два масива), които след това се изтеглят от моя jQuery. Но вече чувствам, че скриването на променливи в html поне се чувства като лоша практика.
<div id="total-users" style="display:none;"><?php echo $total_users ?></div>
....
var totalUsers = $('#total-users').html();
Това може да е един от тези, ако трябва да попитате, вероятно е въпрос от типа на лоша практика. Но, честно казано, това лоша практика ли е?
В интерес на писането на код с по-високо качество, по-добре ли е това да се направи с помощта на json_encode, след като php грабне всички данни. След това да използвате машина за шаблони на javascript като handlebars.js с блок от html, който е клониран за всяка избрана опция?
Още нещо, може би в бъдеще искам да мога да превключвам данните, които се показват в движение, като използвам падащо меню във всеки блок, това променя ли кой маршрут има повече смисъл?
Има ли нещо друго очевидно, което пропускам или правя погрешно?
Благодаря ти!