Archive for the ‘TYPO3 Extension’ Category

  • เพิ่มลูกเล่น Accordion ให้กับ tt_news ด้วย JQuery ใน TYPO3 แบบง่าย ๆ

    0
    typo3 tt_news with accordion using jquery
    หลาย ๆ คนคงกำลังมองหา feature ที่สามารถปรับแต่งให้เกิดความน่าสนใจกับเว็บไซต์
    ด้วยการนำสิ่งที่มีอยู่ในระบบเช่น ระบบข่าวสาร มาใส่ลูกเล่นเพื่อให้เกิดการตอบโต้กับผู้ใช้งาน
    เช่น การคลิ๊กแล้วเปิดเนื้อหาข่าว แทนที่จะลิ้งก์ไปที่หน้าใหม่ เพื่อดูรายละเอียดของข่าวนั้น ๆ
    แล้วต้องเตรียมอะไรบ้างหล่ะ?
    1. tt_news HTML Template ที่มีการ Customize ใส่ Class และตำแหน่งที่ต้องการเช่น
    <div class="news-list-container">
    	<!-- ###CONTENT### begin -->
    		<!-- ###NEWS### begin -->
    			<div class="news-list-item-accordion">
    				<h2 class="acc_trigger">###NEWS_TITLE###</h2>
    				<div class="acc_container">
    					<div class="block">
    						###NEWS_CONTENT###
    					</div>
    				</div>
    			</div>
    		<!-- ###NEWS### end-->
    	<!-- ###CONTENT###  end -->
    </div>
    
    
    
    
    2. CSS สำหรับช่วยในการแสดงผล ดังนี้
      .news-list-container .news-list-item-job h2.acc_trigger p {
        padding:0;
    	margin: 0 0 5px 0;
        font-size: 70%;
        font-weight: normal;
    	background:none;
    	color:#000;
      }
      .news-list-container .news-list-item-accordion h2.acc_trigger{
        text-decoration: none;
    	color:#C30020;
        display: block;
    	font-weight: bold;
    	font-size: 1.4em;
    	padding:0 0 0 15px;
    	background:url("../../images/non-active.png") no-repeat left 5px transparent;
      }
      .news-list-container .news-list-item-accordion h2.acc_trigger:hover {
    	padding:0 0 0 15px;
    	background:url("../../images/active.png") no-repeat left 5px transparent;
      }
      .news-list-container .news-list-item-accordion h2.active{
    	padding:0 0 0 15px;
    	background:url("../../images/active.png") no-repeat left 5px transparent;
      }
      .news-list-container .news-list-item-accordion .acc_container {
        margin: 0 0 5px; padding: 0;
        overflow: hidden;
        clear: both;
      }
      .news-list-container .news-list-item-accordion .acc_container .block { padding: 20px; }
      .news-list-container .news-list-item-accordion  span.news-list-morelink {display:none;}
      .news-list-container .news-list-item-accordion {
    	border-bottom: 1px black dotted;
    	background: url("../../images/linksbg.gif") repeat-x left bottom white;
    	margin:0 0 10px 0;
      }
    
    
    
    
    3. JQuery ที่มีฟังก์ชั่นการทำงานของ Accordion ถ้าหากใช้ ibstv package
    เราจะเตรียม t3jquery สำหรับ migrate ฟังก์ชั่นที่ต้องการใช้แล้วทำการ generate แบบไม่ต้องไปหา jquery ที่ไหนให้ยุ่งยาก
    เวลาที่ merge การใช้งาน ตรง jQuery UI Widgets ก็ให้เลือก Accordion เข้าไปด้วย จากนั้นก็ทำการ create ไฟล์สำหรับใช้งาน
    
    
    
    
    4. เรียกใช้งาน JQuery ผ่านทาง TYPO Script Setup ดังนี้
    includeLibs.t3jquery = EXT:t3jquery/class.tx_t3jquery.php
    page.1490 = COA
    page.1490 {
      10 = USER
      10.userfunc = tx_t3jquery->addJS
      20 = USER
      20.userFunc = tx_t3jquery->addJS
      20.jsdata.cObject = COA
      20.jsdata.cObject {
        1 = TEXT
        1.value (
    		jQuery('div.news-list-item-job> div.acc_container').hide();
    		jQuery('div.news-list-item-job> h2').click(function() {
    			jQuery(this).next('div').slideToggle('fast').siblings('div:visible').slideUp('fast');
    		});
    	)
      }
    }
    
    
    
    
    เห็นหรือเปล่าว่าไม่ยากเลย ถ้าเรารู้จักนำสิ่งที่มีอยู่มาใช้ให้เป็นประโยชน์
    สามารถลดเวลาในการทำ ยังถูกอกถูกใจผู้ใช้งานอีกด้วย
  • การจัดการภาพด้วย Crop and Square Thumbnails

    0

    TYPO3 มีประเภทของเนื้อหามากมายหลายชนิด นอกจากเนื้อหาประเภท “ข้อความ” ที่ถูกนำมาใช้งานสำหรับเว็บไซต์เป็นส่วนมากแล้ว อีกหนึ่งประเภทที่นิยมใช้ก็คือเนื้อหาประเภท “รูปภาพ” นั่นเองค่ะ

    การสร้างเนื้อหาประเภทนี้ก็ทำได้ไม่อยากค่ะ สามารถ upload ไฟล์ กำหนดขนาดของภาพ และการจัดตำแหน่งได้จาก interface ด้านหลังได้ที่กำหนดมาให้เสร็จเรียบร้อยแล้ว แต่กระนั้น การทำงานก็ยังไม่สามารถรองรับกับความต้องการร้อยแปดพันเก้าของผู้ใช้งานได้ครบถ้วนซะทีเดียว การจัดการภาพด้วยตัดและกำหนดขนาดเพื่อทำภาพอ้างอิงสำหรับการแสดงผล ก็เป็นอีกฟังก์ชั่นการทำงานที่ TYPO3 Core ยังไม่สามารถรองรับได้ในส่วนนี้

    หากคุณกำลังมองหาฟังก์ชั่นสำหรับการจัดการในลักษณะนี้อยู่ ให้เปิดเข้าไปที่ http://typo3.org/extensions/repository/ แล้วใช้คำว่า “crop” เพื่อค้นหา extension ที่มีชื่อว่า “Crop and Square Thumbnails” ดาวน์โหลดแล้วลองติดตั้งในเว็บไซต์ เพื่อทดสอบการทำงาน หากคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับการใช้งาน ก็สามารถอ่านได้ที่ http://typo3.org/documentation/document-library/extension-manuals/tkcropthumbs/1.2.4/view/1/1/

    สนุกกับการเรียนรู้แบบไม่มีขีดจำกัดกับไอบีเอสกรุงเทพนะค่ะ

  • Ratings, Chgallery และ jQuery

    0

    สำหรับนักพัฒนาระบบ TYPO3 ที่กำลังมองหา solutions สำหรับการทำงานเกี่ยวกับภาพและการให้คะแนนโหวตสำหรับภาพนั้น ๆ แล้ว อาจจะต้องปวดหัวสักเล็กน้อยเมื่อต้องปรับเปลี่ยนการทำงานจาก prototype ให้เป็น jQuery

    ฟังก์ชั่นแนะนำสำหรับใช้งานร่วมกันก็มี ratings chgallery และ t3jquery ให้ทำการติดตั้งเอ็กเทนชั่นทั้งหมดในระบบและกำหนดค่าสำหรับการทำงานให้เรียบร้อยก่อนทำการปรับเปลี่ยนโค้ดการทำงานของ rating ดังต่อไปนี้

    function tx_ratings_submit(id, rating, ajaxData, check) {
    jQuery(‘#tx-ratings-display-’ + id).css(‘visibility’, ‘hidden’);
    jQuery(‘#tx-ratings-wait-’ + id).css(‘visibility’, ‘visible’);
    jQuery.ajax({
    type: ‘POST’,
    url: ‘index.php?eID=tx_ratings_ajax’, async: true,
    data: ‘ref=’ + id + ‘&rating=’ + rating + ‘&data=’ + ajaxData + ‘&check=’ + check,
    success: function() {                location.reload();        }
    });
    }

    เนื่องจากเวอร์ชั่นของ typo3 ปัจจุบันปรับระบบเป็นการใช้ caching เต็มรูปแบบทำให้เกิดปัญหากับ ajax ที่ไม่สามารถ reload ข้อมูลในขณะนั้นได้ จึงจะต้องทำการ reload หน้านั้นๆ ไป หลังจากที่ผู้ใช้ทำการโหวตนั่นเอง ดูตัวอย่างด้านล่าง

    ratings, chgallery, t3jquery