نحوه ایجاد عنوان " Comment "
اولین مرحله ، ایجاد مکانی برای نگهداری نظرات یا همان Comment ها می باشد. برای این کار ما از یک لیست سفارشی به نام "ArticleComment" استفاده می نماییم ، به این منظور لیستی سفارشی تهیه می نماییم که بتواند تمام نظرات از موضوعات مختلف را نگهداری نماید. بنابراین زمانی که تعدادی از نظرات فرستاده می شود با استفاده از View ها بر حسب موضوع فیلتر می گردد.
در لیست سفارشی خود (ArticleComment) این فیلد ها را قرار دهید :
1- ستون "عنوان" که به شکل پیش فرض قرار دارد را به " آدرس URL" تغییر دهید.
2- عنوان "نظرات" را به عنوان ستون دیگر اضافه نمایید .
آدرس URL ، صفحه مربوط به نظر وارد شده را نشان می دهد .
ما لیستی برای تمام نظراتمان داریم حال نیاز داریم یک وب پارت Date View ایجاد کنیم . بنابراین نظرات مربوط به موضوعات مختلف در مکان مربوط به خودشان نمایش داده می شوند. سپس ما این وب پارت Data View را به لیست سفارشی خود که در بالا ایجاد کردیم متصل می نماییم .
1- Sharepoint Designer را باز می نماییم .
2- سایت شیرپوینت خود را باز می نماییم .
3- _catalogs / masterpage را کلیک نمایید .
4- صفحه مورد نظر را باز مینماییم .
5- در منوی بالا یک Data View ایجاد می نماییم مانند شکل زیر :

بعد از ایجاد Data View ،صفحه به مانند شکل زیر نمایش داده می شود ، با کلیک بر روی آن می توان لیست سفارشی خود را به آن متصل نمود :

فیلد های ایجاد شده در لیستمان قابل درج در وب پارت Data View می باشد .
درج نمایید :
1- آدرس URL صفحه
2- نظرات
3- ایجاد توسط
با این فیلد ها که نمایش دهنده داده ها می باشند ، ما احتیاج به فیلتری داریم که بتواند نظر درج شده مربوط به موضوع خودش را نمایش بدهد.
1- بر روی پیکان سمت راست وب پارت Data View کلیک نمایید .
2- منویی به نام "Common Data View Tasks" که در شکل نشان داده شده است نمایان می شود .
3- پارامتر ها را وارد نمایید .

حال ما می توانیم پارامترها ی جدید اضافه نماییم ، که شکل زیر نمایان می شود :

بر روی "Filter" در " Common Data View Tasks " که در بالا گفته شد کلیک نمایید.سپس پنجره ای که نمایش دهنده نتیجه است مانند شکل زیر ظاهر می شود :

بر روی " Add XSLT Filtering "و کنترل "Edit" کلیک نمایید .
1- وارد نمایید : [@Tittle =Substring-after($ReferPageUrl, ‘pages’) ] به شکلی که در زیر نشان داده شده است .
2- OK نمایید .
این کد، متغیری که در سرور به نام ReferPageURL تعریف شده است را می گیرد. Substring-after تجزیه میکند همه چیز را پس از /Pages و مقدار جدیدی به @Tittle نسبت میدهد .برای مثال :
ReferPageURL = http://wwww.contoso.com/pages/windows7.aspx
@Title = windows7.aspx

این Data View تنظیم شده و به پایان رسیده است. حال ما احتیاج داریم کدی در صفحه Aspx خود بنویسیم که این قابل اجرا در Sharepoint Designer قسمت Code در پایین صفحه است .

وب پارت Data View را با Search کردن "WebPartPages:DataFormWebPart" پیدا می نماییم .
اولین چیزی که ما نیاز داریم اسم صفحه "عنوان" است .این متغیر (Pagename) بعدا در XSL ما استفاده می شود .
1- جدول Dvt_StyleName”> راجستجو کنید
2- اعلانی برای متغیر برای صفحه Aspx که در شکل زیر در قسمت کد تیره نوشته شده است تعیین کنید:
<xsl:variable name="dvt_StyleName">Table</xsl:variable>
<xsl:variable name="Rows" select="/dsQueryResponse/Rows/Row[@Title=substring-after($ReferPageURL,'Pages/')]"/>
<xsl:variable name="dvt_RowCount" select="count($Rows)" />
<xsl:variable name="RowLimit" select="10" />
<xsl:variable name="FirstRow" select="$dvt_firstrow" />
<xsl:variable name="PageName" select="substring-after($ReferPageURL,'Pages/')" />
<xsl:variable name="LastRow">
نظر خود را در مورد موضوع مورد نظر قرار دهد . "Add Comment کاربر قادر است با زدن بر روی گزینه"

این لینک از نام صفحه به عنوان متغیری برای گذر از Query String استفاده میکند .
کد زیر را قبل از مرحله dvt 1.body وارد کنید.
<xsl:template name="dvt_1.head">
<xsl:param name="PageName"/>
<h6 class="fl">Comments</h6>
<a>
<xsl:attribute name="href">/Lists/ArticleComment/NewForm.aspx?page=<xsl:value-of select="$PageName" /></xsl:attribute>
Add Comment
</a>
</xsl:template>
همان صفحه ایجاد شده خومان در مراحل قبل ذخیره کنید . Article.aspx به نام
می بینیم که صفحه NewForm.aspx در زیر لیست ArticleComment به طور مستقیم بوسیله QueryString صدا زده می شود.
وقتی کاربر بر روی لینک Add Comment کلیک کند صفحه زیر را می بیند .

صفحه NewForm.aspx برای ویرایش در زیر لیست AddComment ، به شکل زیر باز می نماییم :

صفحه ای که باز می شود به صورت زیر است :

نیاز است تا کد را به صفحه اضافه نماییم برای اینکه بتواند اعمال دیگری را از طریق QueryString اجرا نماید .
قبل از اینکه کد وارد شود موارد زیادی باید اضافه شود در مد Design ، که XSL برای ما می سازد تا بتوان بعدا آن را تغییر و ویرایش کنیم .
افزودن یک لیست سفارشی فرم به ArticleComment که در شکل زیر آمده است :
بر روی MenuàSharepoint ControlsàCustom List Form کلیک می کنیم.

آدرس URLصفحه و ArticleComment صفحه نشان خواهد داد در شکل زیر آمده است :

حال کد می تواند اضافه شود :
با استفاده از Jquery ما می توانیم آدرس URL صفحه را پیدا کنیم و مقدار صفحه را به عنوان Tittle اضافه می کنیم.
<script type="text/javascript">
$(function() {
var page = queryStrVar('page'); //Return the name of the page from querystring
$('input[title=PageURL]').val(page); //Insert name into PageURL field
});
</script>
مرحله بعدی ، مخفی کردن 'Preview of List Form Web Part' می باشد . تگ <IsVisible> را پیدا کنید و مقدار آن را “False” کنید .
و سپس آخرین آیتم ، Submit نمودن نظرات می باشد .
<xsl:param name="Source">0</xsl:param>
<xsl:variable name="RedirectLoc">
<xsl:value-of select="$Source"/>
</xsl:variable>
دارد .به صورت پیش فرض این کنترلms-toolbar اضافه کنید .یک کلاس از NewForm.aspx کد زیر را در 2 کنترل ورودی در صفحه نامیده می شوند .SaveButton و GoBackButton ها
<input type="button" value="Add Comment" class="button" name="btnSave" onclick="BLOCKED SCRIPT {ddwrt:GenFireServerEvent(concat('__commit;__redirect={/news/Pages/',$RedirectLoc,'}'))}" />
<input type="button" value="Cancel" class="button" name="btnCancel" onclick="BLOCKED SCRIPT {ddwrt:GenFireServerEvent(concat('__redirect={/news/Pages/',$RedirectLoc,'}'))}" />
این صفحه را ذخیره و Publish نمایید .