Block lässt sich nicht in Liste auswählen.

Post Reply

Topic author
Annô
Active Member
Posts: 3
Joined: 13. January 2013 03:31

Block lässt sich nicht in Liste auswählen.

Post by Annô »

Hi Leute.

Habe mir einen Overview Block geschrieben mit Bezug auf den phpBB3-MOD Point MOD 3.0.1
---> http://phpbb3hacks.com/modifications.php?name=Points (Hoffe es macht nichts, das ich zur veranschaulischung meines Problems den MOD verlinkt hab.

Jetzt hab ich nen Simplen Blockgeschrieben, der keine Configurationen haben soll (Pseydo-Config) und im Portal in einer Box eine Liste der Member mit den jeweiligen Punkten ausgeben soll. Den Quelltext habe ich von dem MOD-Forum.

Hier meine block-codes:

point_3_0_1_block.html

Code: Select all

{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<!-- START POINT BLOCK -->
<span>
{user_points.USERNAME} - {user_points.POINTS}
</span>
<!-- END POINT BLOCK -->
{$LR_BLOCK_F_L}{$LR_BLOCK_F_R}
point_3_0_1_block.php

Code: Select all

<?php
/**
*
* @package Board3 Portal v2 - Default
* @copyright (c) Board3 Group ( www.board3.de )
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
* @block by Annô - hardware4gamer.de
*
*/

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
	exit;
}

/**
* @package Point MOD board3 block
*/
class point_1_0_3_block_module
{
	/**
	* Allowed columns: Just sum up your options (Exp: left + right = 10)
	* top		1
	* left		2
	* center	4
	* right		8
	* bottom	16
	*/
	public $columns = 10;

	/**
	* Default Point MOD board3 block
	*/
	public $name = 'Point MOD';

	/**
	* Default module-image:
	* file must be in "{T_THEME_PATH}/images/portal/"
	*/
	public $image_src = '';

	/**
	* module-language file
	* file must be in "language/{$user->lang}/mods/portal/"
	*/
	public $language = 'point_1_0_3_block';
	
	/**
	* custom acp template
	* file must be in "adm/style/portal/"
	*/
	public $custom_acp_tpl = '';
	
	/**
	* hide module name in ACP configuration page
	*/
	public $hide_name = true;

	public function get_template_center($module_id)
	{
		global $sql_array, $template, $sql, $result, $row, $db;

		
    // Load the user points
    $sql_array = array(
        'SELECT'    => 'u.user_id, u.username, u.user_colour, u.user_points',
        'FROM'      => array(
            USERS_TABLE  => 'u',
        ),                            
        'WHERE'    => 'u.user_points > 0 AND u.user_type <> 2',
        'ORDER_BY'    => 'u.user_points DESC',
    );
    $sql = $db->sql_build_query('SELECT', $sql_array);
    $result = $db->sql_query_limit($sql);
    
    while ($row = $db->sql_fetchrow($result))
    {   
        $template->assign_block_vars('user_points', array(
            'USERNAME'     => get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']),
            'POINTS'       => $row['user_points'],
        ));
    }
    $db->sql_freeresult($result);

		return 'point_1_0_3_block.html';
	}

	public function get_template_side($module_id)
	{
		global $sql_array, $template, $sql, $result, $row, $db;

		
    // Load the user points
    $sql_array = array(
        'SELECT'    => 'u.user_id, u.username, u.user_colour, u.user_points',
        'FROM'      => array(
            USERS_TABLE  => 'u',
        ),                            
        'WHERE'    => 'u.user_points > 0 AND u.user_type <> 2',
        'ORDER_BY'    => 'u.user_points DESC',
    );
    $sql = $db->sql_build_query('SELECT', $sql_array);
    $result = $db->sql_query_limit($sql);
    
    while ($row = $db->sql_fetchrow($result))
    {   
        $template->assign_block_vars('user_points', array(
            'USERNAME'     => get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']),
            'POINTS'       => $row['user_points'],
        ));
    }

		return 'point_1_0_3_block.html';
	}

	public function get_template_acp($module_id)
	{
		return array(
			'title'	=> 'ACP_CONFIG_MODULENAME',
			'vars'	=> array(
				'legend1'								=> 'ACP_MODULENAME_CONFIGLEGEND',
				'board3_configname_' . $module_id	=> array('lang' => 'MODULENAME_CONFIGNAME',		'validate' => 'string',	'type' => 'text:10:200',	'explain' => false),
				'board3_configname2_' . $module_id	=> array('lang' => 'MODULENAME_CONFIGNAME2',	'validate' => 'int',	'type' => 'text:3:3',		'explain' => true),
			),
		);
	}

	/**
	* API functions
	*/
	public function install($module_id)
	{
		set_config('board3_configname_' . $module_id, 'point_1_0_3_block');
		set_config('board3_configname2_' . $module_id, 1.0);
		return true;
	}

	public function uninstall($module_id)
	{
		global $db;

		$del_config = array(
			'board3_configname_' . $module_id,
			'board3_configname2_' . $module_id,
		);
		$sql = 'DELETE FROM ' . CONFIG_TABLE . '
			WHERE ' . $db->sql_in_set('config_name', $del_config);
		return $db->sql_query($sql);
	}
}
Hoffe man kann mir ein paar tips geben und helfen, warum ich Ihn nach erfolgreicher Installation nicht in den listen auswählen kann (weder lins, noch mitte, noch rechts oder oben noch unten)

Habe auch die HTML in mein template unter den gegebenen Ordnern gezogen.
User avatar

Kirk
Dev
Posts: 1937
Joined: 27. July 2010 18:02
phpBB.de User: Kirk
Contact:

Re: Block lässt sich nicht in Liste auswählen.

Post by Kirk »

Hallo
Du hast in der point_3_0_1_block.php das hier drin stehen:

Code: Select all

   /**
   * Allowed columns: Just sum up your options (Exp: left + right = 10)
   * top      1
   * left      2
   * center   4
   * right      8
   * bottom   16
   */
   public $columns = 10;
das bedeutet das dieser Block nur rechts oder links angezeigt werden kann.

Ändere mal das hier:

Code: Select all

public $name = 'Point MOD';
in das:

Code: Select all

public $name = 'POINT_MOD';
Dann hast du das hier drin:

Code: Select all

public function get_template_center($module_id)
Aber es gibt keine point_1_0_3_block_center.html


Wie man so ein Modul erstellt wird hier Bearbeiten einer Modul Datei beschrieben.
Gruß Udo

Topic author
Annô
Active Member
Posts: 3
Joined: 13. January 2013 03:31

Re: Block lässt sich nicht in Liste auswählen.

Post by Annô »

Leider nach Änderung das gleiche Problem.

Habe auch mal aus deer php und den datennamen das "_3_0_1" weggenommen. hab die daten mit "_side" und "_center" erweitert, versucht den Block über die DB einzufügen,...

Cih schreibe mal den Grund SQL-Code rein, sowie den Template-Code:

SQL-DB Abfrage:

Code: Select all

    // Load the user points
    $sql_array = array(
        'SELECT'    => 'u.user_id, u.username, u.user_colour, u.user_points',
        'FROM'      => array(
            USERS_TABLE  => 'u',
        ),                            
        'WHERE'    => 'u.user_points > 0 AND u.user_type <> 2',
        'ORDER_BY'    => 'u.user_points DESC',
    );
    $sql = $db->sql_build_query('SELECT', $sql_array);
    $result = $db->sql_query_limit($sql);
    
    while ($row = $db->sql_fetchrow($result))
    {   
        $template->assign_block_vars('user_points', array(
            'USERNAME'     => get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']),
            'POINTS'       => $row['user_points'],
        ));
    }
    $db->sql_freeresult($result);
 
Template:

Code: Select all

<!-- BEGIN user_points -->{user_points.USERNAME} ma {user_points.POINTS}<!-- END user_points -->
Vieleicht kann mir jemand so ein Block schnell Basteln. Währe sehr dankbar.

Topic author
Annô
Active Member
Posts: 3
Joined: 13. January 2013 03:31

Re: Block lässt sich nicht in Liste auswählen.

Post by Annô »

BTW

Ich könnte mich auch damit anfreunden, die Ausgabe über das Teammodul zu machen, like: Administrator -> Name (POINTS)

In der DB ist die Varialble in der User-Tabelle als Spalte "user_points" drin. Vieleicht kann man mir so weiterhelfen.
User avatar

Kirk
Dev
Posts: 1937
Joined: 27. July 2010 18:02
phpBB.de User: Kirk
Contact:

Re: Block lässt sich nicht in Liste auswählen.

Post by Kirk »

Annô wrote:versucht den Block über die DB einzufügen,...
Die Dateien werden per FTP in die entsprechenden Verzeichnisse hochgeladen.
So ein Modul besteht aus 3 Dateien
  1. Die php Datei= kommt in den Ordner: root/portal/modules
  2. Die lanuage Datei= kommt in den Ordner root\language\{Deine Sprache}\mods\portal
  3. Die html Datei/en= kommt in den Ordner root/styles/{stylename}/template/portal/modules
Hab mal so ein Modul erstellt, ob alles passt kann ich nicht sagen weil ich diesen Mod nicht verwende.
Anmerkung:
Der Inhalt der lanuage Datei ist auf englisch den musst du noch übersetzen und evtl. die html Dateien anpassen.
portal_points_module.zip
(9.1 KiB) Downloaded 753 times
Gruß Udo
User avatar

Marc
Dev
Posts: 2504
Joined: 17. July 2008 21:08
phpBB.de User: marc1706
phpBB.com User: Marc
Location: Clausthal-Zellerfeld / München
Contact:

Re: Block lässt sich nicht in Liste auswählen.

Post by Marc »

Dein Problem ist eher der Name deiner Dateien. Achte doch bitte mal auf den Zusammenhang zwischen Klassennamen und Dateinamen:
knowledge/kb_show.php?id=58
Post Reply

Return to “Modification Requests”