CodePixel Posted March 30, 2023 Share Posted March 30, 2023 Hello, i'm trying to make something work on my localhost installation and after 2 hours of trying to add a block to ACP Member Profile, i'm coming here to ask for help. What i did: I've created an extension trough Developer Center I've tried to change default output from return 'Hello World!'; to template but neither of those two seem to be working. I've disabled DEV_MODE to check if that was the issue but even with dev_mode disabled, nothing showed. Is there something i'm missing? Link to comment Share on other sites More sharing options...
DawPi Posted March 30, 2023 Share Posted March 30, 2023 1 hour ago, CodePixel said: I've tried to change default output from return 'Hello World!'; to template but neither of those two seem to be working. Could you show us your code maybe? Link to comment Share on other sites More sharing options...
CodePixel Posted March 30, 2023 Author Share Posted March 30, 2023 4 minutes ago, DawPi said: Could you show us your code maybe? It's basic extension code, didn't change anything. Link to comment Share on other sites More sharing options...
Daniel F Posted March 30, 2023 Share Posted March 30, 2023 You'll also need either a hook or a MemberACPProfileTabs extension to register the new block/tell the system where to show the block. Link to comment Share on other sites More sharing options...
Adriano Faria Posted March 30, 2023 Share Posted March 30, 2023 16 minutes ago, Daniel F said: You'll also need either a hook or a MemberACPProfileTabs extension to register the new block. Btw, just a note: both extensions are missing in the docs: They appear in the overview but they don't have a page to themselves like the others. DawPi and CodePixel 1 1 Link to comment Share on other sites More sharing options...
CodePixel Posted March 31, 2023 Author Share Posted March 31, 2023 17 hours ago, Daniel F said: You'll also need either a hook or a MemberACPProfileTabs extension to register the new block/tell the system where to show the block. Can any info about this be found somewhere? Link to comment Share on other sites More sharing options...
Solution Adriano Faria Posted March 31, 2023 Solution Share Posted March 31, 2023 6 minutes ago, CodePixel said: Can any info about this be found somewhere? This is one example from one of my resources: class _Main extends \IPS\core\MemberACPProfile\MainTab { /** * Get left-column blocks * * @return array */ public function leftColumnBlocks() { return array( 'IPS\membernotes\extensions\core\MemberACPProfileBlocks\AccountData', ); } /** * Get main-column blocks * * @return array */ public function mainColumnBlocks() { return array( 'IPS\membernotes\extensions\core\MemberACPProfileBlocks\Notes', ); } /** * Get right-column blocks * * @return array */ public function rightColumnBlocks() { return array(); } /** * Get Output * * @return string */ public function output() { return parent::output(); } } Mobile phone. No way to use CODE tag. The Old Man 1 Link to comment Share on other sites More sharing options...
CodePixel Posted March 31, 2023 Author Share Posted March 31, 2023 1 minute ago, Adriano Faria said: This is one example from one of my resources: class _Main extends \IPS\core\MemberACPProfile\MainTab { /** * Get left-column blocks * * @return array */ public function leftColumnBlocks() { return array( 'IPS\membernotes\extensions\core\MemberACPProfileBlocks\AccountData', ); } /** * Get main-column blocks * * @return array */ public function mainColumnBlocks() { return array( 'IPS\membernotes\extensions\core\MemberACPProfileBlocks\Notes', ); } /** * Get right-column blocks * * @return array */ public function rightColumnBlocks() { return array(); } /** * Get Output * * @return string */ public function output() { return parent::output(); } } Mobile phone. No way to use CODE tag. Thank you! Link to comment Share on other sites More sharing options...
Convergent Trading Posted February 26 Share Posted February 26 For others wondering about this.... In order to create a hook for the Admin member profile "main" screen, you create a new Extension for "MemberACPProfileBlocks" Then you need to add a hook to add your Extension to the page. I did that by adding a hook for.. \IPS\core\extensions\core\MemberACPProfileTabs\Main and adding to the "left" or "Main" column arrays to include my new extension class. Link to comment Share on other sites More sharing options...
Adriano Faria Posted February 26 Share Posted February 26 13 minutes ago, Convergent Trading said: For others wondering about this.... In order to create a hook for the Admin member profile "main" screen, you create a new Extension for "MemberACPProfileBlocks" Then you need to add a hook to add your Extension to the page. I did that by adding a hook for.. \IPS\core\extensions\core\MemberACPProfileTabs\Main and adding to the "left" or "Main" column arrays to include my new extension class. Hook? You set the position of your block in the MemberACPProfileTabs extension: public function leftColumnBlocks() { } public function mainColumnBlocks() { } The blocks itself go in the MemberACPProfileBlocks extension. Take a look in \IPS\core\extensions\core\MemberACPProfileTabs\Main and \IPS\core\extensions\core\MemberACPProfileBlocks\ProfileData, for example. Link to comment Share on other sites More sharing options...
Convergent Trading Posted March 1 Share Posted March 1 On 2/26/2024 at 12:30 PM, Adriano Faria said: Hook? You set the position of your block in the MemberACPProfileTabs extension: public function leftColumnBlocks() { } public function mainColumnBlocks() { } The blocks itself go in the MemberACPProfileBlocks extension. Take a look in \IPS\core\extensions\core\MemberACPProfileTabs\Main and \IPS\core\extensions\core\MemberACPProfileBlocks\ProfileData, for example. If i use MemberACPProfileTabs it creates a new tab on the profile screen. I'm not wanting to add this new block to a new tab, i want to add it to the existing main profile tab. Link to comment Share on other sites More sharing options...
Adriano Faria Posted March 1 Share Posted March 1 I see what you mean. Yep, every "top" tab belongs to an app (Core and Nexus by default, if you have it installed). Anyway, you better rethink this as it won't be possible to use hooks in v5 and I don't believe they will allow us to add blocks to core apps. Anyway, only when Beta 1 is out to be sure. Link to comment Share on other sites More sharing options...
Recommended Posts