Autor Zpráva
Kebby
Profil *
Zdravím,mám menší problém. Na webu používám skript na novinky. V šabloně jsem si definoval, kde se mají novinky zobrazovat, jenže nastal problém. Mám naboku krátké novinky (zobrazí se jen 120 znaků) a když si chci přečíst tu novinku celou, zobrazí se taky v tom sloupečku a to já nechci. Chci, aby se zobrazila na místě jak normální obsah stránky. Viz obrázek

Jak toho docílit? Předem děkuji za odpovědi
Beavis
Profil
Jde o to, jakou technikou je web stavěn, a zda používáš HTML nebo PHP soubory.
Kebby
Profil *
PHP soubory. Používám hodně upravený jednoduchý redakční systém. Jakou technikou? Na místě pro novinky je vyvolána fce, která vypíše novinky. Po rozkliknutí ji na stejném místě vypíše celou. Jestli myslíš konkrétní kus kódu, je to složitější, spíš bych to řešil přes icq nebo email :)
Alphard
Profil
Kebby:
spíš bych to řešil přes icq nebo email :)
My to radši řešíme přes fórum, protože to pak může pomoct i někomu jinému.

K řešení problému bude skutečně asi potřeba konkrétní kód. Předpokládám, že novinky jsou v databázi a kód pro jejich vypsání je funkční (jen je vypisuje na špatné místo). Možná bude stačit upravit šablonu, možná to bude chtít větší zásah, těžko říct.
Kebby
Profil *
Kód je funkční, přesně tak - vypisuje je na špatné místo. Novinky jsou v souborech. Dobrá tedy. Takže, v index.php jsem povolil vypisování novinek tímto příkazem:
          <div class="sbihead">
            <h1>Novinky</h1>
          </div>
          <div class="sbicontent">
            <!-- **** INSERT NEWS ITEMS HERE **** -->
            <?php theme_module("blog"); ?>
            <?php theme_module("main"); ?>
          </div>

a soubor pro vypsání krátkých novinek, který includuje novinky do toho místa:
<?php

//Make sure the file isn't accessed directly
if((!ereg("index.php", $_SERVER['SCRIPT_FILENAME'])) && (!ereg("admin.php", $_SERVER['SCRIPT_FILENAME'])) && (!ereg("install.php", $_SERVER['SCRIPT_FILENAME'])) && (!ereg("login.php", $_SERVER['SCRIPT_FILENAME']))){
    //Give out an "access denied" error
    echo "access denied";
    //Block all other code
    exit();
}

//Display existing posts, but only if post-index file exists
if (file_exists('data/settings/modules/blog/post_index.dat')) {
	$handle = fopen('data/settings/modules/blog/post_index.dat', 'r');
	while (!feof($handle)) {
		$file = fgets($handle, 4096);
		//Filter out line breaks
		$file = str_replace ("\n",'', $file);
		//Check if post exists
		if ((file_exists('data/settings/modules/blog/posts/'.$file)) && (is_file('data/settings/modules/blog/posts/'.$file))) {
			//Include post information
			include_once('data/settings/modules/blog/posts/'.$file);
			?>
			<div class="blogpost" style="margin-top: 20px" >
			<span class="postinfo" style="font-size: 13px;"><span style="font-weight: bold;"><?php echo $post_day; ?>.<?php echo $post_month; ?>.<?php echo $post_year; ?></font> 
				</span>
				<br />
				<font size='1'>
<?php 
$truncated = substr($post_content,0,strpos($post_content,' ',120));
echo $truncated;
?> </font>
				<p>
					<a href="?module=blog&amp;page=viewpost&amp;post=<?php echo $file; ?>&amp;pageback=<?php echo $current_page_filename; ?>">&raquo; <?php echo $lang_blog23; ?></a>
				</p>
			</div>
			<?php
		}
	}
	//Close module-dir
	fclose($handle);
}
?>

a soubor viewpost.php který zobrazuje celou novinku
<?php


//Make sure the file isn't accessed directly
if((!ereg("index.php", $_SERVER['SCRIPT_FILENAME'])) && (!ereg("admin.php", $_SERVER['SCRIPT_FILENAME'])) && (!ereg("install.php", $_SERVER['SCRIPT_FILENAME'])) && (!ereg("login.php", $_SERVER['SCRIPT_FILENAME']))){
//Give out an "access denied" error
echo "access denied";
//Block all other code
exit();
}

//Predefined variable
$post = $_GET['post'];
$pageback = $_GET['pageback'];
?>

<div class="blogpost">
<span class="postinfo" style="font-size: 10px;">
<?php echo $lang_blog14; ?> <span style="font-weight: bold;"><?php echo $post_category; ?></span> - <?php echo $post_month; ?>-<?php echo $post_day; ?>-<?php echo $post_year; ?>, <?php echo $post_time; ?>
</span><br /><br />
<?php echo $post_content; ?>
</div>

<div style="margin-top: 10px;">
<span style="font-size: 19px"><?php echo $lang_blog16; ?></span>

<?php
//Then show the reactions
//Check if there are reactions
if(isset($post_reaction_title)) {
foreach($post_reaction_title as $key => $value) { ?>
<div class="blogpost_reaction" style="margin-bottom: 15px; margin-top: 5px;">
<span class="posttitle" style="font-size: 16px;">
<?php echo $post_reaction_title[$key]; ?>
</span><br />

<span class="postinfo" style="font-size: 10px;">
<?php echo $lang_blog18; ?> <span style="font-weight: bold;"><?php echo $post_reaction_name[$key]; ?></span> - <?php echo $post_reaction_month[$key]; ?>-<?php echo $post_reaction_day[$key]; ?>-<?php echo $post_reaction_year[$key]; ?>, <?php echo $post_reaction_time[$key]; ?>
</span><br />
<?php echo $post_reaction_content[$key]; ?>
</div>
<?php }
}

//Show a form to post new reactions
?>

<form method="post" action="" style="margin-top: 5px; margin-bottom: 15px;">
<?php echo $lang_blog17; ?> <br /><input name="title" type="text" value="" /><br />
<?php echo $lang_contact3; ?> <br /><input name="name" type="text" value="" /><br />
<?php echo $lang_contact5; ?> <br /><textarea name="message" rows="7" cols="45"></textarea><br />
<input type="submit" name="Submit" value="<?php echo $lang_contact10; ?>" />
</form>
</div>

<?php
//If form is posted...
if(isset($_POST['Submit'])) {

//Check if everything has been filled in
if((!isset($_POST['title'])) || (!isset($_POST['name'])) || (!isset($_POST['message']))) { ?>
<span style="color: red;"><?php echo $lang_contact6; ?></span>
<?php
exit;
}

else {
//Then fetch our posted variables
$title = $_POST['title'];
$name = $_POST['name'];
$message = $_POST['message'];

//Check for HTML, and eventually block it
if ((ereg('<', $title)) || (ereg('>', $title)) || (ereg('<', $name)) || (ereg('>', $name)) || (ereg('<', $message)) || (ereg('>', $message))) { ?>
<span style="color: red;"><?php echo $lang_blog22; ?></span>
<?php }

//If no HTML is present
else {
//Delete unwanted characters
$title = stripslashes($title);
$title = str_replace('"', '', $title);
$name = stripslashes($name);
$name = str_replace('"', '', $name);
$message = stripslashes($message);
$message = str_replace('"', '', $message);
$message = str_replace("\n", '<br />', $message);

//Strip slashes from post itself too
$post_title = stripslashes($post_title);
$post_title = str_replace("\"", "\\\"", $post_title);
$post_category = stripslashes($post_category);
$post_category = str_replace("\"", "\\\"", $post_category);
$post_content = stripslashes($post_content);
$post_content = str_replace("\"", "\\\"", $post_content);

//Determine the date
$day = date("d");
$month = date("m");
$year = date("Y");
$time = date("H:i");

//Then, save existing post information
$file = fopen('data/settings/modules/blog/posts/'.$post, 'w');
fputs($file, '<?php'."\n"
.'$post_title = "'.$post_title.'";'."\n"
.'$post_category = "'.$post_category.'";'."\n"
.'$post_content = "'.$post_content.'";'."\n"
.'$post_day = "'.$post_day.'";'."\n"
.'$post_month = "'.$post_month.'";'."\n"
.'$post_year = "'.$post_year.'";'."\n"
.'$post_time = "'.$post_time.'";'."\n");

//Check if there already are other reactions
if(isset($post_reaction_title)) {
foreach($post_reaction_title as $reaction_key => $value) {
//Set key
$key = $reaction_key + 1;
//And save the existing reaction
fputs($file, '$post_reaction_title['.$reaction_key.'] = "'.$post_reaction_title[$reaction_key].'";'."\n"
.'$post_reaction_name['.$reaction_key.'] = "'.$post_reaction_name[$reaction_key].'";'."\n"
.'$post_reaction_content['.$reaction_key.'] = "'.$post_reaction_content[$reaction_key].'";'."\n"
.'$post_reaction_day['.$reaction_key.'] = "'.$post_reaction_day[$reaction_key].'";
Kebby
Profil *
Konce souboru viewpost.php si nevšimejte, je to pro přidání komentáře k novince, stejně to půjde pryč
Kebby
Profil *
A ještě bych chtěl podotknout, že kam vložím <?php theme_module("main"); ?> tak tam se budou zobrazovat novinky
Beavis
Profil
Tak tohle bude asi složitější.. Vypisuje novinky do části kde je jakoby umístěn, takže nějak ho přes script donutit vkládat je jinam.
Kebby
Profil *
To se tady snažím vysvětlit ;)
Jan123456
Profil *
Aspoň teoreticky, jak to udělat?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: