Jump to content

Recommended Posts

Posted

Hello,

How to add new actions in the comment multimod actions menu?

You have 

	/**
	 * Actions to show in comment multi-mod
	 *
	 * @param	\IPS\Member	$member	Member (NULL for currently logged in member)
	 * @return	array
	 */
	public function commentMultimodActions( \IPS\Member $member = NULL )
	{

Looks like I can use this.


\applications\forums\dev\html\front\topics\post.phtml

				{{if \count( $item->commentMultimodActions() ) and !$comment->mapped('first')}}
					<li class='cPost_moderator'><span class='ipsCustomInput'>
						<input type="checkbox" name="multimod[{$comment->$idField}]" value="1" data-role="moderation" data-actions="{{if $comment->canSplit()}}split merge{{endif}} {{if $comment->hidden() === -1 AND $comment->canUnhide()}}unhide{{elseif $comment->hidden() === 1 AND $comment->canUnhide()}}approve{{elseif $comment->canHide()}}hide{{endif}} {{if $comment->canDelete()}}delete{{endif}}" data-state='{{if $comment->tableStates()}}{$comment->tableStates()}{{endif}}'>
						<span></span>
					</span></li>
				{{endif}}

All actions are hardcoded.

\applications\core\dev\html\front\global\commentMultimod.phtml

<input type="hidden" name="csrfKey" value="{expression="\IPS\Session::i()->csrfKey"}" />
{{$method = $type . 'MultimodActions';}}
{{if $actions = $item->$method() and \count( $actions )}}
	<div class="ipsClearfix">
		<div class="ipsAreaBackground ipsPad ipsClearfix ipsJS_hide" data-role="pageActionOptions">
			<div class="ipsPos_right">
				<select name="modaction" data-role="moderationAction">
					{{if \in_array( 'approve', $actions )}}
						<option value='approve' data-icon='check-circle'>{lang="approve"}</option>
					{{endif}}
					{{if \in_array( 'split_merge', $actions )}}
						<option value='split' data-icon='expand'>{lang="split"}</option>
						<option value='merge' data-icon='level-up'>{lang="merge"}</option>
					{{endif}}
					{{if \in_array( 'hide', $actions ) or \in_array( 'unhide', $actions )}}
						<optgroup label="{lang="hide"}" data-icon='eye' data-action='hide'>
							{{if \in_array( 'hide', $actions )}}
								<option value='hide'>{lang="hide"}</option>
							{{endif}}
							{{if \in_array( 'unhide', $actions )}}
								<option value='unhide'>{lang="unhide"}</option>
							{{endif}}
						</optgroup>
					{{endif}}
					{{if \in_array( 'delete', $actions )}}
						<option value='delete' data-icon='trash'>{lang="delete"}</option>
					{{endif}}
				</select>
				<button type="submit" class="ipsButton ipsButton_alternate ipsButton_verySmall">{lang="submit"}</button>
			</div>
		</div>
	</div>
{{endif}}

Again you only check specific actions.

In this case I should to create Template Hooks to add my actions.

Posted

I want to only use $item->commentMultimodActions() which will add automatically new actions.

2 minutes ago, bfarber said:

Are you unable to use template hooks to add the new actions?

This is an additional work.

 

  • 1 month later...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...