customizando o painel de administração do k2
<p>gostaria de ocultar/mostrar campos específicos no painel de edição de artigos do k2 para usuários específicos.</p><p><img src="https://i.stack.imgur.com/rys0i.jpg" alt="k2 article editing sidebar"></p><p>gostaria de ocultar todas as "opções de exibição de itens na lista de categorias" e mostrar apenas a seleção do tamanho da imagem na "opção de exibição de itens"</p><p>meu primeiro pensamento seria duplicar o modelo de administrador e adicionar <code>display:none;</code> para tudo que eu quero ocultar no css.</p><p>fiquei me perguntando se existe uma maneira melhor de conseguir isso.</p><p>estou usando o modelo de administração do isis e o joomla 3.3.1</p>
<p>isto é o que eu fiz:</p><ol> <li>duplicou o modelo isis e atribuiu o modelo duplicado aos usuários de destino.</li> <li>criou uma substituição de modelo para o item com\_k2 em <code>/administrator/templates/isiscopy/html/com\_k2/item/default.php</code> e excluiu os campos indesejados nesse arquivo.</li> </ol>
<p><strong> @ bowe </strong></p><p>você precisaria criar uma matriz na sua função de opções para a caixa de seleção e atribuir a ela um id como um estado padrão e atribuir o tipo de "caixa de seleção" a ela. aqui está uma amostra supondo que você já tenha o código em vigor para o painel de administração</p><pre><code>&lt;?php // set variables for the options panel $themename = "your\_theme\_name"; $themeshortname = "yt"; $mythemeoptions = array(); //the option function function cool\_theme\_options() { global $themename, $themeshortname, $mythemeoptions; $themeoptions = array ( array( "name" =&gt; \_\_('show featured content slider','your\_theme\_name'), "desc" =&gt; \_\_('when checked, the slider will be added to the home page.','your\_theme\_name'), "id" =&gt; "show\_featured\_slider", "std" =&gt; "false", "type" =&gt; "checkbox" ), ); } //the option form function my\_cool\_theme\_admin() { global $themename, $themeshortname, $themeoptions; // saved or updated message if ( $\_request['saved'] ) echo '&lt;div id="message" class="updated fade"&gt;&lt;p&gt;&lt;strong&gt;'.$themename.' settings saved.&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;'; if ( $\_request['reset'] ) echo '&lt;div id="message" class="updated fade"&gt;&lt;p&gt;&lt;strong&gt;'.$themename.' settings reset.&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;'; // the form ?&gt; &lt;div class="wrap"&gt; &lt;h2&gt;&lt;?php echo $themename; ?&gt; options&lt;/h2&gt; &lt;form method="post"&gt; &lt;?php wp\_nonce\_field('theme-save'); ?&gt; &lt;table class="form-table"&gt; &lt;?php foreach ($themeoptions as $value) { // output the appropriate form element switch ( $value['type'] ) { case 'text': ?&gt; &lt;tr valign="top"&gt; &lt;th scope="row"&gt;&lt;?php echo $value['name']; ?&gt;:&lt;/th&gt; &lt;td&gt; &lt;?php foreach ($value['options'] as $key=&gt;$option) { if ($key == get\_option($value['id'], $value['std']) ) { $checked = "checked=\"checked\""; } else { $checked = ""; } ?&gt; &lt;input type="radio" name="&lt;?php echo $value['id']; ?&gt;" value="&lt;?php echo $key; ?&gt;" &lt;?php echo $checked; ?&gt; /&gt;&lt;?php echo $option; ?&gt;&lt;br /&gt; &lt;?php } ?&gt; &lt;?php echo $value['desc']; ?&gt; &lt;/td&gt; &lt;/tr&gt; &lt;?php break; case "checkbox": ?&gt; &lt;tr valign="top"&gt; &lt;th scope="row"&gt;&lt;?php echo $value['name']; ?&gt;&lt;/th&gt; &lt;td&gt; &lt;?php if(get\_option($value['id'])){ $checked = "checked=\"checked\""; } else { $checked = ""; } ?&gt; &lt;input type="checkbox" name="&lt;?php echo $value['id']; ?&gt;" id="&lt;?php echo $value['id']; ?&gt;" value="true" &lt;?php echo $checked; ?&gt; /&gt; &lt;?php echo $value['desc']; ?&gt; &lt;/td&gt; &lt;/tr&gt; &lt;?php break; default: break; } } ?&gt; &lt;/table&gt; &lt;p class="submit"&gt; &lt;input name="save" type="submit" value="save changes" class="button-primary" /&gt; &lt;input type="hidden" name="action" value="save" /&gt; &lt;/p&gt; &lt;/form&gt; &lt;form method="post"&gt; &lt;?php wp\_nonce\_field('theme-reset'); ?&gt; &lt;p class="submit"&gt; &lt;input name="reset" type="submit" value="reset" /&gt; &lt;input type="hidden" name="action" value="reset" /&gt; &lt;/p&gt; &lt;/form&gt; </code></pre><p>em seguida, adicione a função em functions.php que chama o controle deslizante se a caixa estiver marcada.</p><pre><code>&lt;?php function cool\_theme\_slider\_option() { // load the custom options global $themeoptions; foreach ($themeoptions as $value) { $$value['id'] = get\_option($value['id'], $value['std']); } if ($show\_featured\_slider == 'true') { locate\_template( array( 'includes/slider.php'), true ) } } // end function add\_action('wp\_head', 'cool\_theme\_slider\_option'); ?&gt; </code></pre><p>este código não foi verificado para ter certeza de que funciona exatamente como está, mas destinado a mostrar um exemplo para usar uma opção de caixa de seleção no seu tema.</p> <h2>configurando a ordem de caixas meta em páginas de edição de postagem</h2><p>você precisará remover as caixas meta e adicioná-las novamente na ordem desejada.</p><p>para desabilitar caixas meta: (personalize para suas necessidades, olhe o id do metabox no código html para saber qual nome você deve usar como primeiro parâmetro das funções)</p><pre><code>function my\_remove\_meta\_boxes() { remove\_meta\_box('postcustom', 'post', 'core'); remove\_meta\_box('commentsdiv', 'post', 'core'); ... } add\_action( 'admin\_menu', 'my\_remove\_meta\_boxes' ); </code></pre><p>depois de removê-los, você pode usar a função add\_meta\_box para adicioná-los em novas posições: <a href="http://codex.wordpress.org/function\_reference/add\_meta\_box">http://codex.wordpress.org/function\_reference/add\_meta\_box</a> . a ordem das caixas meta depende da ordem em que você chama a função add\_meta\_box. por exemplo: com o seguinte trecho de código, a caixa meta de comentários será antes da caixa meta de campos personalizados.</p><pre><code>function my\_add\_meta\_boxes( $post\_type, $post ) { if ( ('publish' == $post-&gt;post\_status || 'private' == $post-&gt;post\_status) &amp;&amp; post\_type\_supports($post\_type, 'comments') ) add\_meta\_box('commentsdiv', \_\_('comments'), 'post\_comment\_meta\_box', $post\_type, 'normal', 'core'); if ( post\_type\_supports($post\_type, 'custom-fields') ) add\_meta\_box('postcustom', \_\_('custom fields'), 'post\_custom\_meta\_box', $post\_type, 'normal', 'core'); ... } add\_action( 'add\_meta\_boxes', 'my\_add\_meta\_boxes' ); </code></pre><p>você pode querer olhar para o arquivo wp-admin/edit-form-advanced.php</p><h2>definir qual título de coluna aparece na página da lista de postagens</h2><p>você precisa usar o filtro manage \_ {$ post\_type} \_posts\_columns. por exemplo: o fragmento a seguir removerá a coluna de comentários.</p><pre><code>function my\_remove\_columns( $posts\_columns ) { unset( $posts\_columns['comments'] ); return $posts\_columns; } add\_filter( 'manage\_post\_posts\_columns', 'my\_remove\_columns' ); </code></pre><h2>definir os resultados padrão a serem mostrados na página da lista de postagens</h2><p>use os filtros 'edit \_ {$ post\_type} \_per\_page' e 'edit\_posts\_per\_page'.</p><pre><code>function my\_edit\_post\_per\_page( $per\_page, $post\_type ) { $edit\_per\_page = 'edit\_' . $post\_type . '\_per\_page'; $per\_page = (int) get\_user\_option( $edit\_per\_page ); if ( empty( $per\_page ) || $per\_page &lt; 1 ) $per\_page = 1; return $per\_page; } add\_filter( 'edit\_posts\_per\_page', 'my\_edit\_post\_per\_page' ); </code></pre><p>para segmentar um tipo de postagem específico:</p><ul> <li> <p>use <code>add\_filter( 'edit\_{post type}\_per\_page', 'my\_edit\_post\_per\_page' );</code>, por exemplo <code>add\_filter( 'edit\_post\_per\_page', 'my\_edit\_post\_per\_page' );</code> para posts, <code>add\_filter( 'edit\_page\_per\_page', 'my\_edit\_post\_per\_page' );</code> para páginas.</p> </li> <li> <p>ou use uma condição dentro de sua função. por exemplo.:</p> <p>function my\_edit\_post\_per\_page ($ per\_page, $ post\_type) {</p> <pre><code>if( $post\_type == 'post' ) { $edit\_per\_page = 'edit\_' . $post\_type . '\_per\_page'; $per\_page = (int) get\_user\_option( $edit\_per\_page ); if ( empty( $per\_page ) || $per\_page &lt; 1 ) $per\_page = 1; } return $per\_page; </code></pre></li> </ul> <p>de fato, existem duas maneiras de colocar um tema em uma exibição: o caminho "<strong> </strong>" e o nó "<strong> </strong> "caminho. em "editar visualização", você pode escolher "<code>row style: node</code>" ou "<code>row style: fields</code>".</p><ul> <li>com o modo "<strong> nó </strong>", você pode criar um nó-contentname.tpl.php que será chamado para cada nó na visualização. você terá acesso aos seus valores de campo cck com $ field\_name [0] ['value']</li> <li>com o modo "<strong> campo </strong>", você adiciona um campo de exibição de exibição - nome de exibição - nome do campo-valor.tpl.php para cada campo você quer tema individualmente.</li> </ul><p>graças às respostas anteriores, usei as seguintes ferramentas:</p><ul> <li>no bloco 'configurações básicas', o 'tema: informações' para ver todos os diferentes modelos que você pode modificar.</li> <li>o "desenvolvedor de tema" do <a href="http://drupal.org/project/devel">módulo devel</a> para encontrar rapidamente os nomes de variáveis ​​do campo.</li> <li> <a href="http://views-help.doc.logrus.com/">exibir 2 documentação</a> , especialmente a página <a href="http://views-help.doc.logrus.com/help/views/using-theme">"usando o tema"</a> .</li> </ul> <p>olá willian,</p>
<p>o procedimento para alcançar este efeito é um pouco trabalhoso mas é descrito no link abaixo:</p>
<p><a href="http://www.slideshare.net/vidhi\_khatri/create-circular-reveal-animation-and-ripple-effect-like-whatsapp" rel="nofollow">http://www.slideshare.net/vidhi\_khatri/create-circular-reveal-animation-and-ripple-effect-like-whatsapp</a></p>
<p>basicamente você vai adicionar o seu menu ao seu layout e mantê-lo escondido. quando o botão do menu for pressionado você vai utilizar o recurso de animação para revelar gradualmente o seu menu que estava escondido.</p> olá natiele, tudo bem?

essa funcionalidade já está disponível em nosso [marketplace de soluções](https://integrando.se/)!

ela foi desenvolvida pelo pessoal da consultor net , agência parceira da loja integrada, e chama [ocultar página de coleta de e-mail](https://integrando.se/servicos/implantacao/configuracoes/ocultar-pagina-de-coleta-de-email-749/)

com essa ferramenta, o usuário ao acessar a sua loja será direcionado… <p>alguns pensamentos:</p><ol> <li><strong>os ícones garantem confundir a maioria das pessoas quando usados ​​isoladamente</strong>. adoro completamente a maneira como os ícones do firefox têm texto quando há espaço para tê-los. portanto, tente pensar um pouco mais sobre se há alguma maneira de ter um rótulo de texto ao lado do ícone.</li> <li>quanto ao ícone, que tal três ícones de filtro sobrepostos?</li> <li>mas, dando um passo atrás, <strong>você pode dividir a tarefa em duas operações</strong> - <strong>selecionar tudo</strong> então <strong>aplicar filtros selecionados</strong>? não sei o contexto do seu trabalho, mas se você puder selecionar mais de um filtro, isso poderá funcionar bem. certamente muitos aplicativos fazem isso.</li> </ol> <p>aqui está outro exemplo baseado em <a href="http://jquery.com">jquery</a> . ao contrário de todas as outras respostas postadas aqui, leva em consideração todos os eventos de teclado e mouse, especialmente cliques:</p><pre><code>if (!$.support.leadingwhitespace) { // if ie6/7/8 $('select.wide') .bind('focus mouseover', function() { $(this).addclass('expand').removeclass('clicked'); }) .bind('click', function() { $(this).toggleclass('clicked'); }) .bind('mouseout', function() { if (!$(this).hasclass('clicked')) { $(this).removeclass('expand'); }}) .bind('blur', function() { $(this).removeclass('expand clicked'); }); } </code></pre><p>use-o em combinação com este pedaço de css:</p><pre><code>select { width: 150px; /* or whatever width you want. */ } select.expand { width: auto; } </code></pre><p>tudo que você precisa fazer é adicionar a classe <code>wide</code> ao (s) elemento (s) suspenso (s) em questão.</p><pre><code>&lt;select class="wide"&gt; ... &lt;/select&gt; </code></pre><p> <a href="http://jsfiddle.net/hnv9q/">aqui está um exemplo do jsfiddle</a> . espero que isto ajude.</p> <p>você pode configurá-las em opções do word, personalizar, atalhos de teclado.</p><p><strong>edit:</strong> na verdade, já é <kbd>ctrl</kbd> + <kbd>alt</kbd> + <kbd>h</kbd>.</p> [imagem] suqp:

no dash to dock tem a opção de tirar a animação apenas do show applications(imagem). queria saber se dava para fazer a mesma coisa com o dash to panel

sim basta utilizar a mesma opção, está localizada em behavior/comportamento.

[[captura%20de%20tela%20de%202019-08-22%2011-30-2…](https://plus.diolinux.com.br/uploads/default/original/2x/f/f9f6ef3d628f39258f58672abd6995f86c5e83cf.png "captura de tela de 2019-08-22 11-30-21.png") Oi Wiliam,


 


A partir da 19.2 terá multipla seleção de registros onde mesmo realizando postback (paginação, execução de comandos e aplicação de filtro) estes permanecem selecionados.


Ainda na 19.2, através da API javascript é possível selecionar todos os registros da página e de todas as paginações.


 


![](http://desenv.benner.com.br/accessviolation/?qa=blob&qa_blobid=7127938071994634334)