turen

Рейтинг
29
Регистрация
19.09.2012

1) Не вижу противоречия между "написанием их в текстовом поле" через запятую и "добавление тэга в таблицу и привязка тэга к статье"... просто обработку строки, содержащей список тэгов делать после сохранения статьи (актуализировать связи с тэгами).

2) С этим "добавлять все слова/словосочетания,

а их список будет расширяться" тоже не вижу особой проблемы: добавление и перевод (обратный транслит) тэгов можно делать на автомате, а руками переводить только некорректные случаи.

А ещё лучше, при автоматическом создании тэгов в п.1 сохранять исходную русскую версию, тогда не придется править потом.

luckydan, зарегистрировать standalone-приложение и написать скрипт, который будет использовать метод wall.post

richard7, ещё рекомендую добавить проверки вводимых данных на клиенте и на сервере, чтобы посетители не забывали хотя бы одно из средств связи нормально ввести, а роботы пореже письмами одолевали, но на первое время пойдёт и так, это лучше, чем никак.

Лички, кстати, у Вас в данный момент нету. Отправил на почту.

Не вступая в дискуссию о том, что и когда лучше использовать, отмечу, что у меня ощущение, что ТС хочет сделать некий макет layout, а не оформить табличные данные.

На эту мысль меня наводит тот факт, что у таблиц height=100%, в этом, возможно, и была вообще загвоздка.

Раз уж там и так подключен JQuery, то полагаю его использование допустимо.

Вот мой вариант (их масса - в т.ч. без ajax) - в очень упрощенном виде (ссылку на JQuery можете изменить на свой экземпляр, ссылку на скрипт /test/send1.php - тоже на путь к скрипту у себя) - на своем хостинге я проверил непосредственно тот код, что привел ниже, письма приходят, т.е. программа-минимум выполнена, напильником дорабатывайте сами:


<html>
<head>
<style type="text/css">
.success { color: green; }
.fail { color: red; }
</style>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script language="javascript">
$(document).ready(function(){
$("#btnClear").click(function(){
clear_form();
});
$("#btnSend").click(function(){
send_form();
});
});
function clear_form()
{
$("#form input, #form textarea").val('');
}

function send_form()
{
$.post("/test/send1.php", $("#form").serialize()).done(function(data){
$("#sendResult").addClass("success").html(data);
clear_form();
}).fail(function(){
$("#sendResult").addClass("fail").html('Ошибка при отправке сообщения');
});
}
</script>
</head>
<body>
<form id="form" method="post" >
<fieldset>
<label><strong>Имя:</strong><input type="text" name="name" value=""></label>
<label><strong>Ваш Email:</strong><input type="text" name="email" value=""></label>
<label><strong>Телефон:</strong><input type="text" name="phone" value=""></label>
<label><strong>Сообщение:</strong><textarea name="message"></textarea></label>
<div class="btns"><a href="#" class="link" id="btnClear">Очистить</a><a href="#" class="link" id="btnSend">Отправить</a></div>
<div id="sendResult"></div>
</fieldset>
</form>
</body>
</html>

/test/send1.php (очень упрощенный вариант):


<?php
$to = "your@email.ru";
$from = "example@example.com";

$name = @$_POST['name'];
$email = @$_POST['email'];
$phone = @$_POST['phone'];
$message = @$_POST['message'];

$subj = "Запрос с сайта";
$text = "Имя: $name
Телефон: $phone
E-mail: $email
Сообщение:
$message
";

$header = "MIME-Version: 1.0\nContent-type: text/plain; charset=UTF-8\nFrom: $from\n";
if(mail($to, '=?UTF-8?B?' . base64_encode($subject) . '?=', $text, $header))
{
echo "Ваше сообщение отправлено";
}
else
{
echo "Ошибка на сервере при отправке. Позвоните нам по телефону";
}


Отвлекаясь от вопроса целесообразности, пример мне стал интересен, поэтому вариант реализации привожу ниже.

Ваша таблица не везде отображается одинаково, как минимум в части обработки table height="100%" для внутренней таблицы, которая внутри <div> и внутри <center> (например, IE и Chrome думают на этот счёт по-разному - вот ваша таблица в действии).

Вот примерно (с оговорками - примечание см. ниже кода), что может получиться из этой таблицы:

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<style type="text/css">

html, body { height: 100%; }
body { overflow: hidden; margin: 0; }

.t1 { width: 100%; height: 100%; position: relative; }
.t1c1 { width: 70%; background-color: #808080; position: absolute; }
.t1c2 { width: 15%; background-color: #3cf; position: absolute; margin-left: 70%; }
.t1c3 { width: 15%; background-color: #ccf; position: absolute; margin-left: 85%; }
.t1c1, .t1c2, .t1c3 { height: 100%; text-align: center; vertical-align: top; }
.t1c1div { text-align: center; }

.t2 { display: table; }
.t2r1, .t2r2 { display: table-row; }
.t2r1c, .t2r2c { display: table-cell; }

.t2 { width: 95%; height: 100%; margin: auto; }
.t2 .tc { padding: 5px; }
.t2r1 { height: 30px; }
.t2r1c { background-color: #808000; text-align: left; height: 30px; }
.center { text-align: center !important; }
.t2r2c1, .t2r2c2 { width: 50%; height: 100%; text-align: left; background-color: #33f; float: left; }

</style>

</head>
<body>
<div class="t1">
<div class="t1c1">первое
<div class="t1c1div">
<div id="t2" class="t2">
<div class="t2r1">
<div class="t2r1c"><div class="tc center">четвертое</div></div>
</div>
<div class="t2r2">
<div class="t2r2c">
<div class="t2r2c1"><div class="tc center">пятое</div></div>
<div class="t2r2c2"><div class="tc center">шестое</div></div>
</div>
</div>
<div class="t2r1">
<div class="t2r1c"><div class="tc">седьмое</div></div>
</div>
<div class="t2r2">
<div class="t2r2c">
<div class="t2r2c1"><div class="tc">восьмое</div></div>
<div class="t2r2c2"><div class="tc">девятое</div></div>
</div>
</div>
<div class="t2r1">
<div class="t2r1c"><div class="tc">десятое</div></div>
</div>
<div class="t2r2">
<div class="t2r2c">
<div class="t2r2c1"><div class="tc">одиннадцать</div></div>
<div class="t2r2c2"><div class="tc">двенадцать</div></div>
</div>
</div>
<div class="t2r1">
<div class="t2r1c"><div class="tc">тринадцать</div></div>
</div>
<div class="t2r2">
<div class="t2r2c">
<div class="t2r2c1"><div class="tc">четырнадцать</div></div>
<div class="t2r2c2"><div class="tc">пятнадцать</div></div>
</div>
</div>
</div>
</div>
</div>
<div class="t1c2">два</div>
<div class="t1c3">три</div>
</div>

</body>
</html>

Этот пример в действии - тут.

Примечание. У меня в Chrome моя таблица отображается почти как ваша в IE (т.к. в Chrome 28 страница отображается, как я понимаю, не так, как задумано), за исключением ширины синих ячеек (которых по две в строке). Ширина этих ячеек у вас не указана, я поставил по 50%, а браузер думает немножко иначе (например, 45%/55%).

Использовать table-cell ещё и для этих div я не стал, т.к. возможно, это не столь важно.

В Chrome 28 table height=100% из вашего примера для внутренней таблицы (по крайней мере у меня) не имеет эффекта, т.к. вышестоящие <div> и <center> имеют высоту не 100%.

Ещё один пример без использования display: table/table-row/table-cell, но с использованием Javascript - тут.

Javascript/JQuery применяется для решения проблемы одновременного использования строк с фиксированной высотой совместно со строками с плавающей высотой, заданной в процентах, не применяя таблицы (в т.ч. через display: table/... и т.п.).

Ссылки на рабочие примеры привожу в соответствии с пп.1 п.3 правил, в качестве иллюстрации к утверждениям и для удобства сравнения.

ilya_p:
скорее всего чего-то закрывающего не хватает, поэтому и ругается так

Присоединяюсь. Непосредственно в указанной строке ошибки нет, в показанном фрагменте тоже. Надо проверить соответствие парных скобок блоков выше по тексту. Нужно смотреть весь код файла.

vasyakrn:
Я етот код на одном сайте нашел. А с твиттер апи я не знаком. Там сайт на англиском язике. Возможно ктото может подсказать код каким можно вивести последние твитти?

там же ссылки даны - https://twitter.com/settings/widgets/new/search?query=from%3Asezhukov

там можно создать виджет с последними твитами пользователя, всё на русском

после нажатия "Создать виджет" - скопировать код, который дают, из поля

maks_m:
Предлагают работу: написать дизайн и структуру для сайта на движке WordPress. Выражаясь понятнее — координально изменить имеющийся дизайн и структуру. Сколько за такую работу можно взять?

Про ТЗ я уж молчу, но чтобы сократить ошибки телепатии, сначала попросите написать, или запишите со слов всё, что хочется сделать на сайте и чем подробнее, тем лучше. Или дизайн, структура и контент - на усмотрение исполнителя (т.е. Вас)? "Изменить имеющийся дизайн" - это ну очень растяжимо.

Если посмотреть Javascript-консоль в браузере:

TWITTER WIDGET: The Twitter API v1.0 is deprecated, and this widget has ceased functioning. 

TWITTER WIDGET: You can replace it with a new, upgraded widget from <https://twitter.com/settings/widgets/new/search?query=from%3Asezhukov>
TWITTER WIDGET: For more information on alternative Twitter tools, see <https://dev.twitter.com/docs/twitter-for-websites>

Если вкратце, Twitter API 1.0, который используется в указанных двух виджетах, больше не работает (и не будет работать), предлагается обновить виджеты.

Всего: 71