Цитата |
Не совсем так. Если пишешь на смарти, то твой шаблон содержит только два языка - смарти и html. |
Ну да. А
php делает добрый дядя. Только ты на одной смарти далеко не уедешь, все равно придется что то добавлять, менять, затачивать. Верстальщик может и не станет изучать
php, ему хватит двух языков. А программисту придется учить все три. Да и если поуму сделать, то в моем случае верстальщику вообще кроме html ничего не надо. Так что 2:1 соотношение.
Покажи среднестатистическому верстальщику смартовский шаблон, он глаза круглые сделает. А на вставки
php, оформленные в виде тегов и внимания не обратит. Если мельком.
_____________
Если вам недостаточно собственных заблуждений, можно расширить их мнениями экспертов.Нужно уважать мнение оппонета. Ведь заблуждаться - его святое право.Настаивал, настаиваю и буду настаивать на своем. На кедровых орешках.
UnWind
11.07.2009 - 10:28
Спасибо всем)))
Мне пригодилось)))
_____________
Искусство программирования - заставить компьютер делать всё то, что Вам делать лень!
Спасибо. Но тут я смотрю выводится по столбиками в строку, то есть
тип1 тип2 тип3
тип4 тип5 тип6
тип7 тип8 тип9 и т.д.
А как сделать так:
тип1 тип5 тип9
тип2 тип6 тип10
тип3 тип7 тип11
тип4 тип8 тип12 и т.д.
До меня не доходит))) Не подскажите?
j0hndoe
24.08.2009 - 21:14
Спасибо Joker.
Отлично, респект за материал
Седне для сайта делал тоже самое ток на дивах хоть и не люблю их но вроде симтичнее получилось..
PHP |
$res = mysql_query("SELECT `title` FROM `table`"); $cols = 7; $razm = intval(100/$cols); $razm .= "%"; ob_start(); while ($row = mysql_fetch_assoc($res)) { include("file1.html"); } $result = ob_get_contents(); ob_end_clean(); ob_start(); include("file2.html"); $table = ob_get_contents(); ob_end_clean(); |
HTML файлы:
file1.html
HTML |
<div style="float:left; width:<?php echo $razm; ?>;"><?php echo $row['title']; ?></div>
|
file2.html
HTML |
<div style="width:100%;"><?php echo $result; ?></div>
|
В file2.html у div'a желательно указывать размер.
glock18
8.10.2009 - 17:26
1. Такой вариант рискует "поехать". И поедет, если контент блоков имеет объем достаточно сильно меняющийся в размерах. Попробуй в ячейках 3n+1, где n - натуральное, количество текста увеличить до двух-трех строк. а количество строк ячеек сделать хотя бы 3-5.
2. файлы, которые подключаются (file1, file2) обращаются к переменным, которые обязательно должны быть определены этом контексте. при этом обращение $row['title'] никак нельзя назвать проявлением гибкости. лучше либо убрать эти инклюды и просто поставить там этот хтмл, либо вместо инклюдов вставить вызовы функций с передачей нужных параметров.
По поводу "поехать" да я чот не подумал про большие размеры содержания, я для менюшки делал....
а про файлов непонел чот...
glock18
8.10.2009 - 18:08
Цитата |
а про файлов непонел чот... |
ну смысл тот, что файлы у тебя получаются очень зависимы от того, какие переменные объявлены в данной области видимости.
file1 нет смысл инклюдить, если у тебя при этом не определены $razm и $row['title']. Лучше передавать их параметрами, либо изолировать файл от использования неизвестно откуда взявшихся переменных.
Выделение в файл претендует на использование кода во многих местах, а здесь если я вставлю инклюд где-то за пределами цикла, получу фигу.
Выделение в файл было сделано дабы больше не велось разговоров о смешании кода html и php. Да и просто чтоб код читабельнее был так проще...
glock18
8.10.2009 - 19:17
Я знаю для чего оно сделано. Но, очевидно, это не очень удачное отделение, давшее вместе с тем несколько минусов.
делаю себе вывод в 3 столбца, но сразу столкнулся с проблемой... дело все в том, что из базы я беру два значения - id, name. name я вывожу для пользователя в таблицу а значение id нужно присвоить radio рядишком с названием...
целый день мучаюсь, подскажите как это сделать....
gudzikСо своими вопросами в свою тему
_____________
Обучаю веб-программированию качественно и не дорого:
http://school-php.comФрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Можно сделать ДИВанами, вот код, и живой пример в придачу
http://willko.ru/?act=shopПлюс в том, что столбы сами выстраиваются именно в столько сколько влезит на страничку.
if(mysql_num_rows($result) > 0) {
while ($row = mysql_fetch_assoc($result))
{
echo '<div id="block_cat">'
.'<div id="cat_name"><a href="?act=shop&id_scat='.(int)$row['id'].'"
title="'.htmlspecialchars($row['desc']).'"><b>'.htmlspecialchars($row['title']).'</b></a></div>'
.'<div id="cat_img"><a href="?act=shop&id_scat='.(int)$row['id'].'"
title="'.htmlspecialchars($row['desc']).'"><img src="'.$row['put'].'" /></a></div>'
.'</div>';
}
}
#block_cat {
background-image:url("/template/img/price.png") ;
float:left;
width:180px;
height:180px;
}
#cat_name {
padding: 4px 0 0 19px;
width:140px;
height:18px;
}
#cat_name a {
font-size: 14px;
color: white;
text-decoration: none;
}
#cat_name a:hover {
font-size: 14px;
color: green;
}
#cat_img {
padding: 7px 0 0 12px;
width:150px;
height:150px;
}
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.