Odoo中文社区可以通过以下三个域名访问:shine-it.net , odoocn.org,odoo.net.cn

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

XPATH中position()的用法



  • 在OpenERP中,继承视图可以用<field name="xxoo">这样的标签来定位修改点,但对于有些没有名字的元素比如page,就只能用更强大的xpath了。<br />但使用xpath有个问题,XPATH 是可以返回一个LIST 的,不过OpenERP 默认只取第一个,如果改其他的元素怎么办?对于最后一个元素,可以用last()函数,还可以用last() - n来定位倒数第几个元素,当然这是有点儿危险的,可能会越界。步科大神分享还可以用position()函数,这样就可以正向定位了。<br /><br />比如<br /><header><br /><button name="action_quotation_send" string="Send by Email" type="object" states="draft" class="oe_highlight" groups="base.group_user"/><br /><button name="action_quotation_send" string="Send by Email" type="object" states="sent" groups="base.group_user"/><br /><br />这两个按钮就比较坑爹,定位第一个可以有三种办法:<br /><br /><xpath expr="//button[@name='action_quotation_send']" position="after"><br /><br /><xpath expr="//button[@name='action_quotation_send'][position()=1]" position="after"><br /><br /><xpath expr="//button[@name='action_quotation_send'][last()-1]" position="after"><br /><br /><br /><br />



  • 在OpenERP中,继承视图可以用<field name="xxoo">这样的标签来定位修改点,但对于有些没有名字的元素比如page,就只能用更强大的xpath了。<br />但使用xpath有个问题,XPATH 是可以返回一个LIST 的,不过OpenERP 默认只取第一个,如果改其他的元素怎么办?对于最后一个元素,可以用last()函数,还可以用last() - n来定位倒数第几个元素,当然这是有点儿危险的,可能会越界。步科大神分享还可以用position()函数,这样就可以正向定位了。<br /><br />比如<br /><header><br /><button name="action_quotation_send" string="Send by Email" type="object" states="draft" class="oe_highlight" groups="base.group_user"/><br /><button name="action_quotation_send" string="Send by Email" type="object" states="sent" groups="base.group_user"/><br /><br />这两个按钮就比较坑爹,定位第一个可以有三种办法:<br /><br /><xpath expr="//button[@name='action_quotation_send']" position="after"><br /><br /><xpath expr="//button[@name='action_quotation_send'][position()=1]" position="after"><br /><br /><xpath expr="//button[@name='action_quotation_send'][last()-1]" position="after"><br /><br /><br /><br />



  • 目睹 大神 分享





  • 顶!<br /><br />之前为了隐藏按钮用过的笨办法拿出来贻笑大方一下 ;D :<br /><br />[code]<br />                    <xpath expr="//button[@name='action_quotation_send' and @states='draft']" position="replace"></xpath><br />                    <xpath expr="//button[@name='action_quotation_send' and @states='sent']" position="replace"></xpath><br />[/code]



  • 哈哈 我也是用这种笨办法


  • 管理员

    [quote author=mrshelly link=topic=14508.msg24932#msg24932 date=1382769348]<br />赞...............<br /> 参考资料:https://developer.mozilla.org/en-US/docs/XPath/Functions/position<br />[/quote]<br /><br />xpath 还有很多玩法 ;) 谢谢分享。


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待