странно, когда открывается страница, которая не использует правила .htaccess , в ней нормально отображаются стили, а когда страница, которая использует правила замены - стили не грузятся. и жаваскрипты из папки тоже
http://localhost/skanblog/article/lorem_ipsum (Добавление)
localhost == /var/www (Добавление)
DirectoryIndex skanblog/
Сделал так и теперь у меня просто показывает список файлов, если добавить index.php, то все открывает, но все равно строку адреса не заменяет. Вобщем теперь хоть .htaccess работает (Добавление)
это содержимое .htaccess сейчас. (Добавление)
Все, докопался. Сделал .htaccess таким:
RewriteEngine On
RewriteRule ^.htaccess$ - [F]
DirectoryIndex /skanblog/index.php
RewriteBase /skanblog/
RewriteRule ^([a-z]*)/([a-z0-9_-]*) ?id=$1&article=$2
заработало, но с мелкими проблемами, с которыми я сейчас буду разбираться (Добавление)
еще вопрос понял сейчас, что при попытке шаблона сослаться на файл стилей, его кидает не в папку, а на обработку УРЛа (надеюсь понятно...)
что прописать, чтобы был доступ к какой-то папке. То есть чтобы, если первая подмаска равна styles, то пускать в папку, а не на обработку.
но при попытке воспользоваться правилом апач ругается на 404. Вопрос, собственно, понятен: почему не работает? Сколько манов облазил, нигде наводок не нашел
Нужно выражение, которое ищет в переменной код {array=`$somename$`}*{/array=`$somename$`} (взамен звездочки люобй символ, в том числе и никакой). Но искать он должен с условием, что только до первой закрывающей конструкции, дальше игнорировать. Вот я составил такое выражение:
поидее этот код должен искать такие конструкции, но следить, чтобы во второй подмаске не было {array=`$somename$`}, но в итоге под этот шаблон не попадает ничего. К тому же, у меня неправильно сделана вторая подмаска. В связи с этим есть вопрос: как обозначить определенный порядок внутри символьного класса? Зараннее спасибо (Добавление)
вот, небольшое пояснение:
у меня есть код:
, но не {array=`all_tags_array`},{name}{/array=`all_tags_array`} и не {array=`all_tags_array`}<span style="font-size: {font_size}"><a href="?id=tag&tag={id}">{name}</a>({num_articles})</span><br>{/array=`all_tags_array`} , а хотелось бы, чтобы было наоборот... Если убрать первое вхождение, кстати, то все нормально интерпретируется
Заменяется только {NUM_ARTICLES}. Я совсем не могу понять, от чего такое. Помогите плз... (Добавление)
А, кстати, до этогоя недосмторел и с перового раза у меня заменялась переменная $code, вот так:
Стадию "быдлокодер" я уже прошел (вроде), нависла необходимость написать шаблонизатор. У меня уже было много идей, но все они немного кривы и нету возможности внедрять эти идеи с максимальной простотой. Но в то же время от шаблонизатора требуется много возможностей: циклы и, желательно, вложенные условия. Хотя условиями можно обойтись обычными. Вот последняя идея, на мой взгляд лучшая:
пример кода в tmpl файле:
Этот код сначала высчитывает позицию строчки <! BEGIN , выясняет, к чему этот BEGIN , ищет END, который относится к этому же элементу, потом вычисляет расстояние между началом и концом, извлекает из этого промежутка код. Дальше части кода нужно заменить и вернуть уже полноценную страницу.
Вот я не могу придумать дальше извлекалки кода. Хотелось бы реализовать это с помощью ООП (чтобы по понятиям). При этом нужно, чтобы код было максимально легко внедрить в любой другой проект. (Добавление)
Главное забыл описать: зачем такая фигня. Так как пишу я блог, нужны цикличные части страницы. То есть берется кусок кода, к нему подставляются нужные переменные, берется еще раз этот же кусок кода, к нему подставляются аналогично переменные. Потом это все склеивается. Плюс у движка блога есть такие возможности, как отключение комментирования статьи. Они требуют отдельной части шаблонизатора, при ненужности удаляемой.
P.S.: мне не столько нужен код, которым это все реализовать, сколько сама идея... (Добавление)
Все, я наконец-то родил идею. Можно закрывать тему
такой прототип шаблонизатора (пишу, чтобы проверить идею). Вроде бы все правильно, но выходит так: Warning: strpos(): Offset not contained in string
а вот как определяются переменные:
Опять ничего н происходит, консоль ничего не пишет. onClick="vote('good', '<?=$article ?>'); return false;" тоже ничего не дает (Добавление)
во, хоть что-то понял в консоли, нашел выполнение скрипта. Вобщем ввел там vote('good', 'lorem_ipsum'); и мне выдало ReferenceError: Undefined variable: vote
Что-то как-то скудновато. Может быть я плохо описал проблему. Вот, нашел в себе силы описать лучше:
Цитата:
Первый код: функция, которая отсылает запрос, в котором указывает статью, за которую проголосовали и какой голос (плохой или хороший). В коде HTML я указал, как обращается к функции. Поидее должно быть так: если у клиента работает JS, значит выполняется функция onclick="vote('good')" (например), которая не дает перезагружать страницу (return false). А если JS выключен, то переходит по ссылке и таким образом голосует. Такой порядок менять нельзя, такая задумка. Соответственно, код PHP дает запрос к методу, отдает ему название статьи и голос, и уже по ответу метода формирует сообщение ответа.
А вот, что происходит в реальности: я нажимаю на ссылку, страница перезагружается. Еще было бы что-то понятно, если бы начислялось два голоса, значит просто return false не работает. Но начисляется один голос, значит не работает вся функция, или только ajax();.
На самом деле в JS я немного "нубоват", иногда путаю синтаксис.
то что в PHP коде есть $rating_class, это норм, он точно рабочий. А вот функция vote работать отказывается. Адрес правильный. Но я не уверен в том, что правильно передаю данные. Да и return false; почему-то не работает, страница все равно перезагружается.