レイアウトの順番が変わる

「まったく何も分からない・・・」そんなユーザーさんの為のフォーラムです。どんなご質問でもお気軽にどうぞ。
返信
item1
記事: 1
登録日時: 2008年1月29日(火) 11:02

レイアウトの順番が変わる

投稿記事 by item1 » 2008年1月29日(火) 11:46

はじめまして。お世話になります。

CMSDesignerを初めて使用しています。(php、CSSも初心者です。)

PHPの表示で、レイアウトが思うように表示しません。
レイアウトが崩れるというよりは、空白の箇所がランダムにでる状態です↓
http://www.item1.jp/linklist.php

また、コンテンツマネージャーよりコンテンツを新規追加する時に、
先に登録したものと順番が変ることがあります。
どこか記述が間違っているのでしょうか?

初歩的なことでしたら申し訳ありませんが、ご教授の程お願いいたします。

スキーマ

コード: 全て選択

<?xml version="1.0" encoding="UTF-8"?>
<schema name="link" caption="LINK" >

<data name="sitename" type="text" caption="サイト名" />
<data name="url" type="text" caption="URL" />
<data name="body" type="textarea" caption="サイトの説明" output="text2" />
<data name="image" type="img" caption="画像" />

</schema>
デザイン定義(XSLT)

コード: 全て選択

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="html" encoding="EUC-JP" omit-xml-declaration="yes" />

<xsl:template match="/entrylist"><link href="link.default.css" rel="stylesheet" 

type="text/css" />
<div class="panel">
<xsl:for-each select="entry">
<div class="block"> 
<div id="wrapper">
<div id="main"><a href="{url}" target="_blank"><xsl:value-of select="sitename" /></a><br />
<xsl:value-of select="body" disable-output-escaping="yes" /></div>
<div id="left"><a href="{url}" target="_blank"><img src="{image}&w=140&h=60" alt="{sitename}" /></a></div>
</div>
<xsl:if test="position() mod 2 = 0"><br clear="all" /></xsl:if> 
</div> 
</xsl:for-each>
</div>
</xsl:template>

</xsl:stylesheet>
CSS

コード: 全て選択

body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}
div.panel {
	width: 680px;
} 
div.block {
	float : left;
	width : 335px;
	background-color : #FFFFFF;
	padding : 0px;
	margin : 0px;
} 
div#main {
	width: 180px;
	font-size: 12px;
	line-height: 150%;
}
#conttainer {
	background-color:#ffffff;
}
#wrapper {
	float:left;
	width:325px;
}
#main {
	float:right;
	width:180px;
	padding-top: 5px;
}
#left {
	float:left;
	width:140px;
	padding:5px 0px;
	border-top-style: 0;
}
#left a img{
border:none;
}
表示したいPHP

コード: 全て選択

<?php require_once( "cmsdesigner/include/view.php.inc" ); // encoding="euc-jp" ?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
<title>LINK</title>
<link href="link.default.css" rel="stylesheet" type="text/css">
</head>
<body>
<cmsd:entrylist name="link" design="default" rows="40" />
</body>
</html>
<?php cmsd_end_template(); ?>
よろしくお願いいたします。

webmaster
Site Admin
記事: 1451
登録日時: 2004年12月10日(金) 10:09

Re: レイアウトの順番が変わる

投稿記事 by webmaster » 2008年1月31日(木) 12:32

 item1さん、はじめまして。ご質問ありがとうございます。

 サイトの方を拝見させて頂いたのですが、おそらく、CSSの div.block に対する
高さがblock毎に変わっていて(中に表示するテキストの量によるものと思われ
ます)、一部のblockがそこに「ひっかかかって」いる状態かと思います。

 「ひっかかって」というのも分かりにくい表現なのですが、例えばdiv.blockに
background-colorやborderなどをつけると分かりやすくなるかと思います。

 解決策としては、登録するテキストの量をもう少し減らすか、div.blockに
対して余裕をもったheightを指定する、などが考えられるかと思います。

 もう一点のご質問の、新規追加時に先に登録したものと順番が変わるという件
ですが、初期状態では更新日時を元にソートするようになっております。
 この為、更新日時を変更した場合には順番が変わる事があるかと思います。

 以上、解決しなかった場合はお手数ですが再度ご連絡頂ければ幸いです。m(__)m

返信