X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Ссылка "Подробнее..."
werd_34
werd_34
Topic Starter сообщение 3.5.2013, 19:24; Ответить: werd_34
Сообщение #1


Здравствуйте, уважаемые форумчане!
Подскажите, как без всяких скриптов вывести ссылку "Подробнее...", по клику на которую выводилось бы значение другой переменной (например, $text) как продолжение краткого текста ($shorttext).
Вот у меня выводится краткий текст

<?php
echo "<td><p>'.$shorttext.'</p></td>";
?>

Как связать ссылку с $text?
Всё прогуглил, там в основном решения для Wordpress или сложные скрипты :)
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
html-ka
html-ka
сообщение 3.5.2013, 19:48; Ответить: html-ka
Сообщение #2


$_GET тебе в помощь, как вариант, а вообще ты откуда данные берешь и как ссылки формируешь?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
werd_34
werd_34
Topic Starter сообщение 3.5.2013, 20:04; Ответить: werd_34
Сообщение #3


Данные беру из БД, поля соответствующей таблицы. Сначала хотел обрезать текст (код ниже), но это не всегда красиво - разрыв слова и т.д.

$statid=$_GET['statid'];
if($statid=='')
{
$text = substr($text, 0, '100');
$text = $text."<a href=?statid=$id>Подробнее...</a>";
echo $text;
}
else
{
echo $text;
}
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
html-ka
html-ka
сообщение 3.5.2013, 20:17; Ответить: html-ka
Сообщение #4


можно 2 способами поступить:
сделать 2 колонки в 1-й вводная часть, во 2-й продолжение, и если допусти stadtid не объявлен, то публиковать вводную часть, а если объявлен, то либо полностью данные их 2-х колонок, либо продолжение, в зависимости от настроек, так в Joomla было раньше
либо оставить колонку а в нужно месте вставить комментарий, например <!--READ_MORE--> и по нему разбирать данные, например
$text = explode("<!--READ_MORE-->", $text);
echo $text[0]; // вводная часть
echo $text[1]; // продолжение

и выводить в зависимости от условий, описанных выше
а не как у тебя, так в Wordpress было сделано
смысле понятен?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
werd_34
werd_34
Topic Starter сообщение 3.5.2013, 22:11; Ответить: werd_34
Сообщение #5


Если честно, не понял по каким параметрам разделить текст
А если задавать условия в моём примере, то выводятся все "Подробнее..." (Я вывожу циклом несколько текстов).
$statid=$_GET['statid'];
    if($statid==''){
     $shorttext = $shorttext."<a href=?statid=$yid>Подробнее...</a>";
  echo $shorttext;
}else{
     echo $text;
}

А хотелось бы чтобы дополнения выводились индивидуально. Наверно, и редирект нужен?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
html-ka
html-ka
сообщение 3.5.2013, 23:28; Ответить: html-ka
Сообщение #6


зачем редирект, я же тебе вверху написал принцип?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
yury_mw
yury_mw
сообщение 3.5.2013, 23:29; Ответить: yury_mw
Сообщение #7


werd_34,
как-то так
<?php
$shorttext = array('1','2','3','4');
$text = array('Первый','Второй','Третий','Четвертый');
$more = -1;
if (is_numeric($_GET['statid'])) {
  $more = $_GET['statid'];
}
$max = count($text);
for($i = 0; $i < $max; $i++){
  if ($i==$more) echo '<p>',$text[$i],'</p>';
  else echo '<p>',$shorttext[$i],'<br /><a href="?statid=',$i,'">Подробнее...</a></p>';
}
?>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
werd_34
werd_34
Topic Starter сообщение 4.5.2013, 1:43; Ответить: werd_34
Сообщение #8


Вот наваял с помощью добрых людей. Но как то громоздко? Или нет?
$at=explode(". ", $text); //разделим весь текст на предложения и пишем в массив
$count=count($at); //узнаём кол-во предложений в массиве
for ($i=0; $i<$count; $i++){
$tout.=$at[$i].". ";
if (strlen($tout)>=1000) { //тут предположительно будем делить по ~1000 знаков в блоке
$fout[]=$tout; //пишем набор предложений, кол-во знаков в которых равно или больше 1000 в массив
unset($tout);
}
// это нужно для записи последнего набора предложений, кол-во знаков в которых меньше 1000
elseif(strlen($tout)<=1000 && $i==$count-1){
$fout[]=$tout;
unset($tout);
}
}
$shorttext = array('1','2','3','4','5','6','7','8','9','10','11','12');
$more = -1;
if (is_numeric($_GET['statid'])){
  $more = $_GET['statid'];
}
$max = count($fout);
for($i = 0; $i < $max; $i++){
if ($i==$more) echo '<p>',$fout[$i],'</p>';
else echo '<p>',$shorttext[$i],'<br /><a href="?statid=',$i,'">Подробнее...</a></p>';
}
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
html-ka
html-ka
сообщение 4.5.2013, 1:51; Ответить: html-ka
Сообщение #9


ужос о_0!!!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
html-ka
html-ka
сообщение 4.5.2013, 2:38; Ответить: html-ka
Сообщение #10


лови, что тут трудного?
<?php
// 1 вариант
// условно есть 2 массива из одной таблицы,
// в 1 вводный текст,
$prew = array(
    0 => "<p>Вводный текст 1</p>",
    1 => "<p>Вводный текст 2</p>",
    2 => "<p>Вводный текст 3</p>",
    3 => "<p>Вводный текст 4</p>",
    4 => "<p>Вводный текст 5</p>",
);
// во 2 - полный.
$full = array(
    0 => "<p>Полный текст 1</p>",
    1 => "<p>Полный текст 2</p>",
    2 => "<p>Полный текст 3</p>",
    3 => "<p>Полный текст 4</p>",
    4 => "<p>Полный текст 5</p>",
);
// проверяем, был ли переход по ссылке подробнее
// если да, отображаем всю статью
if (is_numeric($_GET['id'])) {
$id = $_GET['id'];
echo $prew[$id].$full[$id];
}
// если нет, выводим все вводные
else {
$max = count($prew);
for($i = 0; $i < $max; $i++){
echo $prew[$i];
echo "<p><a href=?id=".$i.">Подробнее...</a></p>";
}
}

// 2 вариант
// условно есть 1 массива с разделителем в виде html-комментариев,  например <!--READ_MORE-->.
$text = array(
    0 => "<p>Вводный текст 1</p><!--READ_MORE--><p>Полный текст 1</p>",
    1 => "<p>Вводный текст 2</p><!--READ_MORE--><p>Полный текст 2</p>",
    2 => "<p>Вводный текст 3</p><!--READ_MORE--><p>Полный текст 3</p>",
    3 => "<p>Вводный текст 4</p><!--READ_MORE--><p>Полный текст 4</p>",
    4 => "<p>Вводный текст 5</p><!--READ_MORE--><p>Полный текст 5</p>",
);
// проверяем, был ли переход по ссылке подробнее
// если да, отображаем всю статью
if (is_numeric($_GET['id'])) {
$id = $_GET['id'];
echo $text[$id];
}
// если нет, выводим все вводные
else {
$max = count($text);
for($i = 0; $i < $max; $i++){
$text[$i] = explode("<!--READ_MORE-->", $text[$i]);
echo $text[$i][0];
echo "<p><a href=?id=".$i.">Подробнее...</a></p>";
}
}
?>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Вечные ссылки с 300+ СДЛов, тиц до 750, ЯКи, DMOZ, от 1$/ссылка
вечные ссылки
259 SeoUaSales 129318 30.3.2024, 18:27
автор: Hillel_Silver
Открытая тема (нет новых ответов) Вечная статейная трастовая ссылка ИКС 20000 чектраст 100/2.5
22 inetuser 11048 2.1.2024, 17:18
автор: inetuser
Открытая тема (нет новых ответов) Одна вечная ссылка 5$ ИКС 24000
2 mylink1 5979 8.4.2020, 17:39
автор: mylink1
Открытая тема (нет новых ответов) Не дорогая ссылка
размещу ссылку дешего
1 Heavych 5759 14.10.2019, 8:59
автор: Silverspam
Открытая тема (нет новых ответов) Нужны вечные ссылки на adult сайты, до 500р ссылка
2 RMak 5263 23.2.2019, 16:26
автор: Trastik


 



RSS Текстовая версия Сейчас: 25.4.2024, 10:23
Дизайн