Я бы сверстал списком, где LI - display: inline-block, а UL - text-align: justify
В моём случае - ограничено всего тремя состояниями - больше, меньше и равно. Для потребностей, под которые пишется скриптик - этого полностью достаточно. В форме пользователь не вводит, а выбирает выпадашкой, ну и плюс проверка на всякий случай.
Откровенно невозможные взаимоисключающие условия, конечно же, будут проверяться и фильтроваться, например "$price > 10 && $price < 5" - не пройдёт валидацию и не попадёт в набор условий ещё на стадии создания.
Пустой результат не критичен, мало того - это один из нормальных результатов проверки, мне как раз и надо проверить на 0 или не 0.
Реальный пример:
В базе есть некий объект, условно - карточка товара. По смыслу ОЧЕНЬ похоже. С кучей характеристик, которые хранятся в своих ячейках таблицы.
У контентщика есть возможность заранее определить шаблонные языковые переменные, заполнив формочку с кучей полей.
Форма достаточно гибкая, поля в ней натыкиваются аджакасом как угодно, но на выходе получаем вот такое условие
$цвет = красный, $цена > 10, $страна производства = 'Турция', то %наша_переменная% имеет "вот такое значение".
После чего в описании товарной карточки все красные турецкие труселя дороже 10 рублей добавляется заранее предустановленная фраза. Ура, имеем генератор описаний товарных карточек по шаблону.
Шаблонных переменных можно нагенерировать сколько угодно, условий в них - тоже, проще всего хранить именно в таком виде "$var > 1 && $var = 2 && $var = \'string\'"
Соответственно в базе имеем таблицу:
ID
Юзер_ID
%Шаблон%
Условие
Замена
На пальцах:
%lowprice% = ($price < 10) ? 'недорогие'
%hiprice% = ($price > 10) ? 'премиальные'
Строим одну единственную конструкцию "Это отличные %lowprice%%hiprice% труселя!
Если новые труселя в нашем магазине дороже 10 рублей, мы автоматом получаем в описании строку "Это отличные премиальные труселя!", если дешевле - "Это отличные недорогие труселя!"
А если вдруг $price == 10, то тогда просто "Это отличные труселя!
Ну это прям мегаупрощённый пример, естественно.
Значит любая переменная может в момент генерации описания может иметь 2 состояния - 'пусто' и 'замена согласно условию', чтобы определить это состояние, мне нужно проверить набор характеристик конкретно взятого товара на условие
цвет = красный, $цена > 10, $страна производства = 'Турция'
Коллеги, а как на счёт if (assert($x)) ?
Чем не вариант?
Эммм, ну не настолько круто, конечно :)
Да, практически. Ща попробую сформулировать....
У пользователя есть возможность генерировать собственные шаблонные переменные, которые используются в работе скрипта, делает он это, заполняя форму по шаблону, но с неограниченным количеством полей (можно натыкивать их Ajax-ом до посинения).
В итоге имеем что-то вроде:
%шаблон% = ($переменная_1 > 10 AND $переменная_2 = 'строка' AND ...) ? ...
У нас есть некий объект в базе, у которого масса параметров (условно - товарная карточка, очень близко по смыслу, кстати).
Так вот если $цвет = красный, $цена > 10, $страна производства = 'Турция', то получаем заранее заготовленное значение шаблона. После чего шаблон подставляется в описание товарной карточки, получается читабельное уникальное описание.
Здесь в роли пользователя выступает не некий безымянный абстрактный юзер, а, раз уж это близко по смыслу к товарной карточке - контент-менеджер магазина.
Условий каждый контент-менеджер может нагенерировать сколько ему позволит фантазия, переменных в каждом условии от 1, до N, проще всего их сразу хранить именно в виде строки "$var > 1 && $var = 2 && $var = \'string\'"
И на первый взгляд всё круто и удобно...
Если есть идеи как лучше организовать хранение и проверку условий другим способом - буду весьма признателен. Чой-то я не ожидал засады на этом этапе :)
Ко мне зайдите, попиарьтесь, заодно пообщайтесь с теми, кто в этом варится :)
Заголовок темы: "Сайдбар, прилипающий к низу страницы при прокрутке".
Сайдбар прокручивается вместе с контентной областью. Если сайдбар короче контента, он останавливается на своей нижней границе, дальше скроллится только контент. Как только на экране появляется футер, сайдбар отлипает.
Это прям любимая присказка у Авторов (с большой буквы, ага). Только вот затирают её Авторы, которые ни разу не ставили на бирже ценник х10 от средней. Я ставил, теша себя мыслью, что новичок хотя бы по цене догадается, что не на него рассчитывают. То есть уже не чтобы профи привлечь (нормально они и по средним работают, если ПЗ нет, а если ПЗ есть - то они в заявки не лезут, заняты), а чтобы ценником детей распугать. Огрёб по факту ещё большее количество неадекватов. В итоге, если раньше было одно добавление в избранных авторов на 25 отправленных в чёрный список, то резко стало 1/250.
Увы, я могу вычитать в день ограниченное количество заявок и тестовых работ. Ну и нафига, спрашивается, возиться в этих конюшнях, платя х10 и получая 1 автора на 250 школоло, если на средних ценах на тот же объём школоты я получу ну как минимум троих?
Найти копирайтера на бирже можно только одним способом - просеивать. Долго, монотонно, переведя сотни нефти впустую, но по другому никак :( Может повезти и хороший копирайтер найдётся быстро. Но рано или поздно он устанет, или уедет в деревню ловить рыбу на утренней зорьке. Начнёт повторятся. Или займётся перепродажей заданий (распространённая фигня, кстати). И тогда вам нужен будет ещё один. Поэтому просев и поиск - занятие практически бесконечное.
плодить дубли страниц и, тем более, 301 редиректы ради вхождения категории в урл - ересь, достойная лаврового венка на специальной олимпиаде.
Обычно я так и делаю, но здесь проблема была не в точке, а в слетевшем кеше :)
RewriteEngine On
RewriteRule ^(.*)index.htm$ http://test1.ru/$1 [R=301,L]
Корректно работает, как и должно было с самого начала :)